dpoeschl / StashPop

StashPop adds features to GitHub, with extra Jenkins testing support. Get the Chrome extension at
https://chrome.google.com/webstore/detail/stashpop/nghjdgghnnljcdgaicggnlbmojcaedhl
MIT License
5 stars 9 forks source link

Support non-"dotnet" Jenkins hosts #57

Closed dpoeschl closed 8 years ago

dpoeschl commented 8 years ago

https://developer.chrome.com/extensions/permissions

dpoeschl commented 8 years ago

Need to find one to test with

akoeplinger commented 8 years ago

I'd volunteer https://jenkins.mono-project.com :)

dpoeschl commented 8 years ago

@akoeplinger Perfect - thanks!

dpoeschl commented 8 years ago

The current Jenkins support shows this error: "Unknown Failure - If this is a private Jenkins job, click the 'Details' button to reauthenticate and then reload this failure data." so we should distinguish between these two failure modes.

akoeplinger commented 8 years ago

Yes, we have an additional Xamarin-internal Jenkins, that's why it shows this for you. It works if you authenticate as the message says.

dpoeschl commented 8 years ago

@akoeplinger I'm confused. Are you running a custom StashPop with permissions to https://jenkins.mono-project.com in the manifest.json?

When I look at https://github.com/mono/mono/pull/2342 I see:

image

But when I click details on the "ARM hard float Linux" queue, I'm logged in and can see info:

image

But I still can't see anything on the PR page.

dpoeschl commented 8 years ago

As an aside, I'd like to add well-known and trusted Jenkins servers (like mono's) to the shipping manifest.json so that they work by default. All other unknown Jenkins servers would require permission be granted on first access.

akoeplinger commented 8 years ago

@dpoeschl yeah, I'm running a custom version. It seems to work fine for me:

bildschirmfoto 2015-12-15 um 18 26 05

Not sure why it doesn't work for Mono's public Jenkins for you?

dpoeschl commented 8 years ago

@akoeplinger Awesome. It's because the shipping manifest.json only allows access to the dotnet team's Jenkins server right now. I'm trying to fix that behavior for non-customized manifest.json files by 1) including more well-known jenkins servers by default and 2) allowing any jenkins server to be accessed with user-granted permissions.

dpoeschl commented 8 years ago

Background: Chrome extensions make you declare what domains you have access to. See https://github.com/dpoeschl/StashPop/blob/master/manifest.json#L38

I was nervous about granting access to *, but I'm okay with it as long as users have to grant access per unknown jenkins server.

dpoeschl commented 8 years ago

So once that work is done, you shouldn't need a customized version of StashPop anymore (unless you want to do dev)

akoeplinger commented 8 years ago

What about not including any Jenkins url permission by default and just requesting it on-demand on first use?

dpoeschl commented 8 years ago

Yep, that's another option, and I tend to like that better. As a note-to-self, I'll want to verify that the permissions roam between versions and whatnot.

akoeplinger commented 8 years ago

@dpoeschl I took a stab at implementing this in https://github.com/dpoeschl/StashPop/pull/70. Would love to hear your feedback :smile: