Skip to main content

Поиск проблем и запросов на вытягивание

Можно выполнять поиск проблем и запросов на вытягивание на GitHub и использовать квалификаторы поиска в любом сочетании, чтобы уточнить результаты.

В этой статье

Вы можете искать проблемы и запросы на вытягивание глобально во всех GitHub, или искать проблемы и запросы на вытягивание в определенной организации. Дополнительные сведения см. в разделе Сведения о поиске в GitHub.

Советы: * Если ваша организация согласилась на public preview расширенного поиска проблем, можно использовать логические и вложенные запросы на странице проблем репозитория. См. раздел "Фильтрация и поиск проблем и запросов на вытягивание".

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

  • Используйте кавычки для многословных условий поиска. Например, если вы хотите найти проблемы с меткой "Выполняется", выполните поиск label:"in progress". Регистр в поиске не учитывается.

  • Используйте символ минуса (дефиса), чтобы исключить результаты, соответствующие квалификатору. Например, чтобы игнорировать проблемы, созданные пользователем octocat, вы будете использовать -author:octocat в поиске. Обратите внимание, что это не работает для отсутствующих квалификаторов метаданных.

  • Можно установить курсор на строке поиска над проблемой или списком запросов на вытягивание с помощью сочетания клавиш. Дополнительные сведения см. в разделе сочетания клавиш;.

Поиск только проблем или запросов на вытягивание

По умолчанию поиск GitHub возвращает и проблемы, и запросы на вытягивание. Однако результаты поиска можно ограничить только проблемами или только запросами на вытягивание с помощью квалификатора type или is.

КвалификаторПример
type:prcat type:pr соответствует запросам на вытягивание со словом "cat".
type:issuegithub commenter:defunkt type:issue соответствует проблемам, содержащим слово "github" и имеющим комментарий @defunkt.
is:prevent type:pr соответствует запросам на вытягивание со словом "event".
is:issueis:issue label:bug is:closed соответствует закрытым проблемам с меткой "bug".

Поиск по названию, тексту или комментариям

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

КвалификаторПример
in:titlewarning in:titleсоответствует проблемам со словом "warning" в заголовке.
in:bodyerror in:title,body соответствует проблемам со словом "error" в заголовке или тексте.
in:commentsshipit in:comments соответствует проблемам, в комментариях которых упоминается "shipit".

Поиск в репозиториях пользователя или организации

Для поиска проблем и запросов на вытягивание во всех репозиториях, принадлежащих определенному пользователю или организации, можно использовать квалификатор user или org. Для поиска проблем и запросов на вытягивание в определенном репозитории можно использовать квалификатор repo.

Если у вас есть доступ к запросам на вытягивание более чем в 10 000 репозиториях, для просмотра результатов вам потребуется ограничить поиск определенной организацией, личной учетной записью или репозиторием.

КвалификаторПример
user:USERNAMEuser:defunkt ubuntu соответствует проблемам со словом "ubuntu" в репозиториях, принадлежащих @defunkt.
org:ORGNAMEorg:github соответствует проблемам в репозиториях, принадлежащих организации GitHub.
repo:USERNAME/REPOSITORYrepo:mozilla/shumway created:<2012-03-01 соответствует проблемам из проекта shumway @mozilla, созданным до марта 2012 г.

Поиск по открытому или закрытому состоянию

Вы можете фильтровать проблемы и запросы на вытягивание по тому, открыты они или закрыты, с помощью квалификатора state или is.

КвалификаторПример
state:openlibraries state:open mentions:vmg соответствует открытым проблемам, в которых упоминается @vmg со словом "libraries".
state:closeddesign state:closed in:body соответствует закрытым проблемам со словом "design" в тексте.
is:openperformance is:open is:issue соответствует открытым проблемам со словом "performance".
is:closedandroid is:closed соответствует закрытым проблемам и запросам на вытягивание со словом "android".

Поиск запросов на вытягивание в очереди слияния

Вы также можете использовать is квалификатор для поиска запросов на вытягивание, которые помещаются в очередь для слияния.

КвалификаторПример
is:queuedis:queued соответствует запросам на вытягивание, которые в настоящее время помещаются в очередь для слияния.

Поиск по причине закрытия проблемы

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

КвалификаторПример
reason:completedбиблиотеки:closed reason:completed совпадают с словом "библиотеки", которые были закрыты как "завершенные".
reason:"not planned"библиотеки is:закрыто reason:незапланированные соответствует проблемам со словом "библиотеки", которые были закрыты как "незапланированные".

Фильтрация по видимости репозитория

Вы можете фильтровать по видимости репозитория, содержащего проблемы и запросы на вытягивание, с помощью квалификатора is. Дополнительные сведения см. в разделе Сведения о репозиториях.

КвалификаторПример
is:publicis:public matches issues and pull requests in public repositories.
is:privateis:private cupcake соответствует проблемам и запросам на вытягивание, которые содержат слово "cupcake " в частных репозиториях, к которым можно получить доступ.

Поиск по автору

Квалификатор author позволяет находить проблемы и запросы на вытягивание, созданные определенным пользователем или учетной записью интеграции.

КвалификаторПример
author:USERNAMEcool author:gjtorikian соответствует проблемам и запросам на вытягивание, содержащим слово "cool" и созданным @gjtorikian.
in:body author:USERNAMEbootstrap in:body author:mdo соответствует проблемам, написанным @mdo, в тексте которых имеется слово "bootstrap".
author:app/USERNAMEauthor:app/robot соответствует проблемам, созданным учетной записью интеграции с именем "robot".
-author:app/USERNAME-author:app/robot соответствует проблемам, созданным любым пользователем, кроме учетной записи интеграции с именем "робот". Знак минуса или символ дефиса (-) перед квалификатором обозначает логический НЕ для квалификатора в поисковом запросе.

Поиск по уполномоченному

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

КвалификаторПример
assignee:USERNAMEassignee:vmg repo:libgit2/libgit2 соответствует проблемам и запросам на вытягивание в проекте libgit2 в libgit2, которые назначены @vmg.
assignee:*is:open is:issue assignee:* соответствует открытым проблемам в одном репозитории, которому назначен любой пользователь.

Поиск по упоминаниям

Квалификатор mentions позволяет находить проблемы, в которых упоминается определенный пользователь. Дополнительные сведения см. в разделе Базовый синтаксис записи и форматирования.

КвалификаторПример
mentions:USERNAMEresque mentions:defunkt соответствует проблемам со словом "resque", в которых упоминается @defunkt.

Поиск по упоминаемым командам

Для организаций и команд, к которым вы принадлежите, вы можете использовать квалификатор team, чтобы найти проблемы или запросы на вытягивание, в которых упоминается (@mention) определенная команда в этой организации. Замените эти примеры имен на названия вашей организации и команды, чтобы выполнить поиск.

КвалификаторПример
team:ORGNAME/TEAMNAMEteam:jekyll/owners соответствует проблемам, в которых упоминается команда @jekyll/owners.
team:ORGNAME/TEAMNAME is:open is:prteam:myorg/ops is:open is:pr соответствует открытым запросам на вытягивание, в которых упоминается команда @myorg/ops.

Поиск по комментатору

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

КвалификаторПример
commenter:USERNAMEgithub commenter:defunkt org:github соответствует проблемам в репозиториях, принадлежащих GitHub, которые содержат слово "github", и имеют комментарий от @defunkt.

Поиск по пользователю, вовлеченному в проблему или запрос на вытягивание

Квалификатор involves можно использовать для поиска проблем, которые каким-либо образом связаны с определенным пользователем. Квалификатор involves является логическим ИЛИ между квалификаторами author, assignee, mentions и commenter для одного пользователя. Другими словами, этот квалификатор находит проблемы и запросы на вытягивание, которые либо созданы определенным пользователем, либо назначены этому пользователю, либо упоминают его, либо имеют от него комментарий.

КвалификаторПример
involves:USERNAMEinvolves:defunkt involves:jlord соответствует проблемам, в которые вовлечен пользователь @defunkt или @jlord.
in:body involves:USERNAMENOT bootstrap in:body involves:mdo соответствует проблемам, в которые вовлечен @mdo, и в тексте которых нет слова "bootstrap".

Поиск моих проблем и запросов на вытягивание

Вы можете искать проблемы и запросы на вытягивание, с которыми вы создали или взаимодействовали, следуя требуемому квалификатору @me. Любой квалификатор, работающий с именем пользователя, позволяет ограничить поиск проблемами и запросами на вытягивание, назначенными, упомянутыми или запрашиваемыми в качестве рецензента.

КвалификаторПример
author:@meauthor:@me соответствует проблемам и запросам на вытягивание, созданные вами.
is:pr commenter:@meis:pr commenter:@me соответствует запросам на вытягивание, которые вы закомментировали.

Поиск связанных проблем и запросов на вытягивание

Вы можете сузить результаты, включив в них только проблемы, связанные с запросом на вытягивание с помощью закрывающей ссылки, или запросы на вытягивание, связанные с проблемой, которую запрос на вытягивание может закрыть.

КвалификаторПример
linked:prrepo:desktop/desktop is:open linked:pr соответствует открытым проблемам в репозитории desktop/desktop, которые связаны с запросом на вытягивание с помощью закрывающей ссылки.
linked:issuerepo:desktop/desktop is:closed linked:issue соответствует закрытым запросам на вытягивание в репозитории desktop/desktop, связанным с проблемой, которую этот запрос на вытягивание может закрыть.
-linked:prrepo:desktop/desktop is:open -linked:pr соответствует открытым проблемам в репозитории desktop/desktop, которые не связаны с запросом на вытягивание с помощью закрывающей ссылки.
-linked:issuerepo:desktop/desktop is:open -linked:issue соответствует открытым запросам на вытягивание в репозитории desktop/desktop, не связанным с проблемой, которую этот запрос на вытягивание может закрыть.

Поиск по метке

Вы можете сужать результаты по меткам, используя квалификатор label. Так как проблемы могут иметь несколько меток, можно включать в список отдельный квалификатор для каждой проблемы.

КвалификаторПример
label:LABELlabel:"help wanted" language:ruby соответствует проблемам с меткой "help wanted", которые находятся в репозиториях Ruby.
in:body -label:LABEL label:LABELbroken in:body -label:bug label:priority соответствует проблемам со словом "broken" в тексте, у которых нет метки "bug", но есть метка "priority".
label:LABEL label:LABELlabel:bug label:resolved соответствует проблемам с метками "ошибка" и "разрешено".
label:LABEL,LABELlabel:bug, устранены проблемы с меткой "ошибка" или меткой "разрешено".

Поиск по вехе

Квалификатор milestone позволяет находить проблемы или запросы на вытягивание, которые являются частью вехи в репозитории.

КвалификаторПример
milestone:MILESTONEmilestone:"overhaul" соответствует проблемам, которые находятся в вехе с именем "overhaul".
milestone:MILESTONEmilestone:"bug fix" соответствует проблемам, которые находятся в вехе с именем "bug fix".

Поиск по проекту

С помощью project квалификатора можно найти проблемы, связанные с определенным проектом. Необходимо выполнить поиск проектов по номеру проекта. Номер проекта можно найти в конце URL-адреса проекта.

КвалификаторПример
project:PROJECT_NUMBERproject:github/57 соответствует проблемам, принадлежащим GitHub, связанным с проектом организации 57.
project:REPOSITORY/PROJECT_NUMBERproject:github-linguist/linguist/1 соответствует проблемам, связанным с проектом 1 в @githublinguist репозитории.

Поиск по состоянию фиксации

Запросы на вытягивание можно фильтровать по состоянию фиксации. Это особенно удобно, если вы используете API состояния или службу CI.

КвалификаторПример
status:pendinglanguage:go status:pending соответствует запросам на вытягивание, открытым в репозиториях Go и находящимся в состоянии ожидания.
status:successis:open status:success finally in:body соответствует открытым запросам на вытягивание со словом "finally" в тексте, которые находятся в состоянии успеха.
status:failurecreated:2015-05-01..2015-05-30 status:failure соответствует запросам на вытягивание, открытым в мае 2015 г., которые находятся в состоянии сбоя.

Поиск по SHA фиксации

Если вы знаете конкретный хэш SHA фиксации, его можно использовать для поиска запросов на вытягивание, содержащих этот SHA. Синтаксис требует, чтобы SHA имел не менее семи символов.

КвалификаторПример
SHAe1109ab соответствует запросам на вытягивание со SHA фиксации, который начинается с e1109ab.
SHA is:merged0eff326d6213c is:merged соответствует объединенным запросам на вытягивание со SHA фиксации, который начинается с 0eff326d6213c.

Поиск по имени ветви

Вы можете фильтровать запросы на вытягивание по ветви, из которой они поступили ("головной" ветви), или по ветви, в которую они объединяются ("базовой" ветви).

КвалификаторПример
head:HEAD_BRANCHhead:change is:closed is:unmerged соответствует закрытым запросам на вытягивание, открытым из ветвей, имена которых начинаются со слова "change".
base:BASE_BRANCHbase:gh-pages соответствует запросам на вытягивание, которые объединяются в ветвь gh-pages.

Поиск по языку

С помощью квалификатора language можно искать проблемы и запросы на вытягивание в репозиториях, написанных на определенном языке.

КвалификаторПример
language:LANGUAGElanguage:ruby state:open соответствует открытым проблемам, находящимся в репозиториях Ruby.

Поиск по количеству комментариев

Для поиска по количеству комментариев вы можете использовать квалификатор comments вместе с квалификаторами "больше чем", "меньше чем" и квалификаторами диапазона.

КвалификаторПример
comments:nstate:closed comments:>100 соответствует закрытым проблемам с более чем 100 комментариями.
comments:n..ncomments:500..1000 соответствует проблемам с количеством комментариев от 500 до 1000.

Поиск по количеству взаимодействий

Вы можете фильтровать проблемы и запросы на вытягивание по количеству взаимодействий с помощью квалификатора interactions вместе с квалификаторами "больше чем", "меньше чем" и квалификаторами диапазона. Количество взаимодействий — это количество реакций и комментариев по проблеме или запросу на вытягивание.

КвалификаторПример
interactions:nвзаимодействие:>2000 соответствует запросам на вытягивание или проблемам с более чем 2000 взаимодействиями.
interactions:n..ninteractions:500..1000 соответствует запросам на вытягивание или проблемам с количеством взаимодействий от 500 до 1000.

Поиск по количеству реакций

Вы можете фильтровать проблемы и запросы на вытягивание по количеству реакций с помощью квалификатора reactions вместе с квалификаторами "больше чем", "меньше чем" и квалификаторами диапазона.

КвалификаторПример
reactions:nреакция:>1000 соответствует проблемам с более чем 1000 реакций.
reactions:n..nreactions:500..1000 соответствует проблемам с количеством реакций от 500 до 1000.

Поиск черновиков запросов на вытягивание

Вы можете фильтровать по черновикам запросов на вытягивание. Дополнительные сведения см. в разделе Сведения о запросах на вытягивание.

КвалификаторПример
draft:truedraft:true соответствует черновикам запросов на вытягивание.
draft:falsedraft:false соответствует запросам на вытягивание, которые готовы к проверке.

Поиск по состоянию проверки и рецензенту запроса на вытягивание

Вы можете фильтровать запросы на вытягивание на основе их состояния проверки (нет, требуется, утверждено или запрос на изменение), рецензента и запрошенного рецензента.

КвалификаторПример
review:nonetype:pr review:none соответствует запросам на вытягивание, которые не были проверены.
review:requiredtype:pr review:required соответствует запросам на вытягивание, которым требуется проверка перед объединением.
review:approvedtype:pr review:approved соответствует запросам на вытягивание, утвержденным рецензентом.
review:changes_requestedtype:pr review:changes_requested соответствует запросам на вытягивание, рецензент которых запросил изменения.
reviewed-by:USERNAMEtype:pr reviewed-by:gjtorikian соответствует запросам на вытягивание, проверенным конкретным лицом.
review-requested:USERNAMEtype:pr review-requested:benbalter соответствует запросам на вытягивание, в которых запрошена проверка указанным лицом. После того как запрошенные рецензенты проверят запрос на вытягивание, они перестают отображаться в результатах поиска. Если запрошенный пользователь находится в команде, которая запрашивается для проверки, то запросы на проверку этой команды также будут отображаться в результатах поиска.
user-review-requested:@metype:pr user-review-requested:@me соответствует запросам на вытягивание, которые вы непосредственно попросили проверить.
team-review-requested:TEAMNAMEtype:pr team-review-requests:github/docs соответствует запросам на вытягивание, у которых есть запросы на проверку от команды github/docs. После того как запрошенные рецензенты проверят запрос на вытягивание, они перестают отображаться в результатах поиска.

Поиск по моменту создания или последнего обновления проблемы или запроса на вытягивание

Вы можете фильтровать проблемы в зависимости от времени создания или времени последнего обновления. Для фильтрации по времени создания проблемы можно использовать квалификатор created; чтобы узнать, когда проблема была в последний раз обновлена, можно использовать квалификатор updated.

Оба квалификатора принимают дату в качестве параметра. Форматы дат должны соответствовать стандарту ISO8601: YYYY-MM-DD (год-месяц-день). Кроме того, можно добавить дополнительные сведения о времени THH:MM:SS+00:00 после даты, чтобы выполнить поиск по часам, минутам и секундам. Это T, а затем идет HH:MM:SS (час, минуты, секунды) и смещение от UTC (+00:00).

При поиске по дате можно использовать квалификаторы "больше", "меньше" и "диапазон" для дополнительной фильтрации результатов. Дополнительные сведения см. в разделе Основные сведения о синтаксисе поиска.

КвалификаторПример
created:YYYY-MM-DDlanguage:c# created:<2011-01-01 state:open соответствует открытым проблемам, созданным до 2011 г. в репозиториях, написанных на C#.
updated:YYYY-MM-DDweird in:body updated:>=2013-02-01 соответствует проблемам со словом "weird" в тексте, которые были обновлены после февраля 2013 г..

Поиск по моменту закрытия проблемы или запроса на вытягивание

Вы можете фильтровать проблемы и запросы на вытягивание по времени их закрытия, используя квалификатор closed.

Этот квалификатор принимает дату в качестве параметра. Форматы дат должны соответствовать стандарту ISO8601: YYYY-MM-DD (год-месяц-день). Кроме того, можно добавить дополнительные сведения о времени THH:MM:SS+00:00 после даты, чтобы выполнить поиск по часам, минутам и секундам. Это T, а затем идет HH:MM:SS (час, минуты, секунды) и смещение от UTC (+00:00).

При поиске по дате можно использовать квалификаторы "больше", "меньше" и "диапазон" для дополнительной фильтрации результатов. Дополнительные сведения см. в разделе Основные сведения о синтаксисе поиска.

КвалификаторПример
closed:>YYYY-MM-DDlanguage:swift closed:>2014-06-11 соответствует проблемам и запросам на вытягивание в Swift, закрытым после 11 июня 2014 г.
in:body closed:<YYYY-MM-DDdata in:body closed:<2012-10-01 соответствует проблемам и запросам на вытягивание со словом "data" в тексте, которые были закрыты до октября 2012 г.

Поиск по моменту объединения запроса на вытягивание

Вы можете фильтровать проблемы и запросы на вытягивание по времени их объединения, используя квалификатор merged.

Этот квалификатор принимает дату в качестве параметра. Форматы дат должны соответствовать стандарту ISO8601: YYYY-MM-DD (год-месяц-день). Кроме того, можно добавить дополнительные сведения о времени THH:MM:SS+00:00 после даты, чтобы выполнить поиск по часам, минутам и секундам. Это T, а затем идет HH:MM:SS (час, минуты, секунды) и смещение от UTC (+00:00).

При поиске по дате можно использовать квалификаторы "больше", "меньше" и "диапазон" для дополнительной фильтрации результатов. Дополнительные сведения см. в разделе Основные сведения о синтаксисе поиска.

КвалификаторПример
language:LANGUAGE merged:<YYYY-MM-DDlanguage:javascript merged:<2011-01-01 соответствует запросам на вытягивание в репозиториях JavaScript, которые были объединены до 2011 г.
in:title language:LANGUAGE merged:>YYYY-MM-DDfast in:title language:ruby merged:>=2014-05-01 соответствует запросам на вытягивание в Ruby со словом "fast" в заголовке, которые были объединены после мая 2014 г.

Поиск в зависимости от того, объединен или не объединен запрос на вытягивание

Запросы на вытягивание можно фильтровать в зависимости от того, объединены они или нет, с помощью квалификатора is.

КвалификаторПример
is:mergedbug is:pr is:merged соответствует объединенным запросам на вытягивание со словом "bug".
is:unmergederror is:unmerged соответствует запросам на вытягивание со словом "ошибка", которые открыты или были закрыты без слияния.

Поиск в зависимости от того, является ли репозиторий архивным

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

КвалификаторПример
archived:truearchived:true GNOME соответствует проблемам и запросам на вытягивание, содержащим слово "GNOME" и находящимся в архивных репозиториях, к которым у вас есть доступ.
archived:falsearchived:false GNOME соответствует проблемам и запросам на вытягивание, содержащим слово "GNOME" и находящимся не в архивных репозиториях, к которым у вас есть доступ.

Поиск в зависимости от того, заблокирована ли беседа

Вы можете искать проблему или запрос на вытягивание, в котором есть заблокированная беседа, с помощью квалификатора is. Дополнительные сведения см. в разделе Блокировка бесед.

КвалификаторПример
is:lockedcode of conduct is:locked is:issue archived:false соответствует проблемам или запросам на вытягивание со словами "code of conduct", которые имеют заблокированную беседу и находятся не в архивном репозитории.
is:unlockedcode of conduct is:unlocked is:issue archived:false соответствует проблемам или запросам на вытягивание со словами "code of conduct", которые имеют разблокированную беседу и находятся не в архивном репозитории.

Поиск по отсутствующим метаданным

С помощью квалификатора no можно сузить поиск до проблем и запросов на вытягивание, в которых отсутствуют определенные метаданные. Эти квалификаторы нельзя объединить с символом минуса (дефиса), чтобы исключить элементы, отсутствующие метаданные. Это могут быть следующие метаданные:

  • Наклейки
  • Milestones
  • Уполномоченные
  • Проекты
КвалификаторПример
no:labelpriority no:label соответствует проблемам и запросам на вытягивание с словом "priority", в которых нет никаких меток.
no:milestonesprint no:milestone type:issue соответствует проблемам, не связанным с вехой, содержащей слово "sprint".
no:assigneeimportant no:assignee language:java type:issue соответствует проблемам, не связанным с уполномоченным, содержащим слово "important" и находящимся в репозиториях Java.
no:projectсборка no:project соответствует проблемам, не связанным с project (классическая модель), содержащим слово "сборка".

Дополнительные материалы