Skip to content

bug: GitHub query and involved_issues don't work with fine-grained access tokens #1192

@muni-corn

Description

@muni-corn

The current documentation for bugwarrior says:

If you want to write your own github query, as described at https://help.github.com/articles/searching-issues/:

query = "assignee:octocat is:open"

Note that this search covers both issues and pull requests, which github treats as a special kind of issue.

...but it seems that GitHub has changed its mind on this.

If I set:

involved_issues = true

# or
query = "involves:muni-corn archived:false"

then I get this error on bugwarrior pull:

ERROR:bugwarrior.collect:Worker for [github] failed: Non-200 status code 422; 'https://api.github.com/search/issues?q=involves:muni-corn%20state:open&per_page=100'; '{"message":"Query must include \'is:issue\' or \'is:pull-request\'","documentation_url":"https://docs.github.com/rest/search/search#search-issues-and-pull-requests","status":"422"}'
Traceback (most recent call last):
  File "/nix/store/d7pmp2f48nx8q56mwfzqqzib4rfgaic8-python3-3.13.12-env/lib/python3.13/site-packages/bugwarrior/collect.py", line 47, in _aggregate_issues
    for issue in service.issues():
                 ~~~~~~~~~~~~~~^^
  File "/nix/store/d7pmp2f48nx8q56mwfzqqzib4rfgaic8-python3-3.13.12-env/lib/python3.13/site-packages/bugwarrior/services/github.py", line 435, in issues
    self.get_query(
    ~~~~~~~~~~~~~~^
        'involves:{user} state:open'.format(user=self.config.username)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/nix/store/d7pmp2f48nx8q56mwfzqqzib4rfgaic8-python3-3.13.12-env/lib/python3.13/site-packages/bugwarrior/services/github.py", line 311, in get_query
    for issue in self.client.get_query(query):
                 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "/nix/store/d7pmp2f48nx8q56mwfzqqzib4rfgaic8-python3-3.13.12-env/lib/python3.13/site-packages/bugwarrior/services/github.py", line 120, in get_query
    return self._getter(url, subkey='items')
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/d7pmp2f48nx8q56mwfzqqzib4rfgaic8-python3-3.13.12-env/lib/python3.13/site-packages/bugwarrior/services/github.py", line 166, in _getter
    json_res = self.json_response(response)
  File "/nix/store/d7pmp2f48nx8q56mwfzqqzib4rfgaic8-python3-3.13.12-env/lib/python3.13/site-packages/bugwarrior/services/__init__.py", line 379, in json_response
    raise OSError(
    ...<2 lines>...
    )
OSError: Non-200 status code 422; 'https://api.github.com/search/issues?q=involves:muni-corn%20state:open&per_page=100'; '{"message":"Query must include \'is:issue\' or \'is:pull-request\'","documentation_url":"https://docs.github.com/rest/search/search#search-issues-and-pull-requests","status":"422"}'
INFO:bugwarrior.collect:Done with [github] in 0.5002522468566895.
ERROR:bugwarrior.collect:Aborted [github] due to critical error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions