coveralls-public icon indicating copy to clipboard operation
coveralls-public copied to clipboard

No repositories listed under Bitbucket account

Open RobertoRoos opened this issue 4 years ago • 7 comments

I created a coveralls.io account linked to both my Github and Bitbucket. When adding a repository I can find the public Github repos, but I cannot see my public Bitbucket repos, the list is just empty, even though there should be multiple repositories.

When putting in the URL directly I get a 404 error: https://coveralls.io/bitbucket/Roberto-R/uptime-tester

I have tried unlinking and linking my account again, and even deleting my account entirely. This made no difference.

The 'sync repos' button makes no difference.

Thank you for any assistance!

RobertoRoos avatar Dec 13 '20 13:12 RobertoRoos

Tried it with a new Bitbucket account and here I can add a Bitbucket repository. So something is going on with my account / repo specifically.

RobertoRoos avatar Dec 13 '20 13:12 RobertoRoos

Hi @RobertoRoos , yes, I'm able to reproduce. Will you please email us at [email protected] and reference this issue? Would like to track it internally and keep any sensitive info private. Thanks.

afinetooth avatar Dec 15 '20 01:12 afinetooth

This issue has been automatically marked for closure because it has not had recent activity. It will be closed if no further activity occurs. If your issue is still active please add a comment and we’ll review as soon as we can. Thank you for your contributions.

stale[bot] avatar Mar 17 '22 10:03 stale[bot]

I just tested this again (hadn't really looked at this for a year), but I still cannot see any Bitbucket repos, public or private.

RobertoRoos avatar Mar 22 '22 08:03 RobertoRoos

Hi, @RobertoRoos. I'm able to find your Github account and one Github repo, but not your BitBucket account or any BitBucket repos.

This is to say, I can still reproduce the issue, but only for your account. I am able to see my own public repos from BitBucket.

TBH, I'm not sure if my previous message about being able to reproduce applied to you, or all BitBucket users. Either way, the same next step applies:

Can you please try unlinking and re-linking your BitBucket account from your ACCOUNT PAGE?

I suspect there's an issue with your BitBucket OAuth token.

afinetooth avatar Mar 22 '22 18:03 afinetooth

I unlinked my account and for good measure also revoked the token from inside Bitbucket.org itself. I relinked but nothing has changed.

My Coveralls could be removed entirely if that's something to try, I haven't used it for anything yet.

Thanks for your help!

EDIT: I see I can do that myself. I deleted my account and tried to login through Bitbucket again. I redid the authorization. But I still cannot see any Bitbucket repos...

RobertoRoos avatar Mar 23 '22 10:03 RobertoRoos

Hi @RobertoRoos. Yes, I see the new account you created and I see your public repos at BitBucket.

However, after our API client makes a call to the BitBucket API to get a list of all your accessible repos, a second call, to collect the data on those, fails on the first repo it sees: itco/the-roast-of-yoeri-bruinsma-hg_874b1c_hg

The specific error message is:

BitBucket::Error::Forbidden (#<struct Faraday::Env method=:get, body="Repository currently not available.", url=#<URI::HTTPS https://bitbucket.org/api/2.0/repositories/itco/the-roast-of-yoeri-bruinsma-hg_874b1c_hg> [...]

I couldn't tell at first if any (or all) other repos would fail in the same way because this was the first repo it encountered, but, since the request came with a paging parameter, I requested the "next page" of results and got a similar error:

This time for repo: itco/activity-creator-hg_776e4e_hg

BitBucket::Error::Forbidden (#<struct Faraday::Env method=:get, body="Repository currently not available.", url=#<URI::HTTPS https://bitbucket.org/api/2.0/repositories/itco/activity-creator-hg_776e4e_hg> [...]

In this second query, I noticed requests for some other repos you have access to succeeded, for instance, the repo, ctw-bw/soes_arm.

(Simplifying from a previous version of this answer...)

Here's how it works from our side:

We build an API client object with your OAuth access token, like this:

# ruby
@bitbucket_client ||= BitBucket::Client.new new_access_token: <your_bitbucket_token>

Then we request all the repos you have access to, like this:

# ruby
@bitbucket_client.get_request("/2.0/user/permissions/repositories", page: page)

The scope of that call extends to both public and private repos that you have access to. You having access to them is the scope.

Then, we attempt to make another call—a query against each of the repos you have access to—that then checks the scope of each repo: public or private.

But that is the call that's failing—even though we expect to be able to make it, like this:

# ruby
bb_repo = @bitbucket_client.get_request("/2.0/repositories/#{name}")

I am currently stuck there, wondering why this isn't happening for all users, but I wanted to share my current findings with you in case you have any insights into why requests of certain repos you have access to might be failing (I'm currently thinking: additional access restrictions? similar to the IP-blocking feature at Github?)

If you don't have any ideas why this might be occurring, I'll dive deeper.

afinetooth avatar Mar 23 '22 17:03 afinetooth