KnpLabs / KnpLabs/php-github-api

Invalid url for get reference endpoint?

Open
#1,037 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
2.2k
Forks
587
PR merge metrics
No merged PRs in 30d

Description

While this code works fine for most use cases:

https://github.com/KnpLabs/php-github-api/blob/de2f27846139e7b4b92dcad9ff77660d0dc5dfad/lib/Github/Api/GitData/References.php#L83

It looks like that `GET /refs/{ref}` is an undocumented endpoint and it returns an array of references when an exact reference is not found, but other similar references are found in the repo.

> Current GitHub docs tells to use `GET /ref/{ref}` URL: https://docs.github.com/en/rest/reference/git#get-a-reference

My story: I have the following references in the repo:

- accepted-1-1
- accepted-1-1-1

When I try to get `accepted-1` reference using `references()->show(..)` I get the following response, but I expect zero results:

Screenshot 2021-11-11 at 22 15 41

If I change `GET /refs/{ref}` to `GET /ref/{ref}` in `References.php` it starts throwing a 404 not found exception as expected.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in lib/Github/Api/GitData/References.php at the referenced line and compare the requested path with GitHub's current get-a-reference documentation. Reproduce the lookup for a partial reference and verify that an exact missing reference no longer returns similarly named references; update the relevant behavior and add or adjust coverage where the repository's existing tests cover this endpoint.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, php
Domain
api
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.