Direct URL for xcpretty HTML report build artifacts

I just enabled publishing of the xcpretty HTML report build artifacts and can’t believe I haven’t been doing this the entire time - being able to view the HTML report inline on the build page is great.

Is it possible to get the direct URL of xcpretty HTML output that is published as a build artifact? I’d like to link the URL directly to those reports in a Slack step later on but I don’t see where (if at all) the URL to an individual build artifact is exposed.

Hi @jeffremer,

Thanks for asking this here!

Right now it’s not possible. Artifacts do not have any static download URL, for security reasons. When you click view or download of that artifact on the build’s page that requests a download URL which changes every time! The download links returned there are time limited, expiring ones, valid for roughly 10 mins. After that the same download URL can’t be used again without authorization first, which will generate a new download URL.

One solution that works right now is to include the Build’s URL in the Slack message ($BITRISE_BUILD_URL), where you can see the artifacts.

Soon there will be another option, but that most likely won’t solve this issue for you directly: we’re working on a public API (Bitrise.io API v0.1 (Work In Progress)), and that will include an endpoint to retrieve artifacts. But even that endpoint won’t include a non expiring download URL option (for security - e.g. to prevent access of those who you remove from the app’s team), except for artifacts which can have a “public install page” (apps right now).

To be honest I don’t really see why including the download URL in a Slack message would be useful, but feel free to create a #feature-request describing the use case, and if that gets enough votes we’ll definitely find a solution for the use case. Maybe I just missed something, so it’s definitely not a dismissal at all :wink:

Yep, we currently include the build URL. What I’m trying to eliminate is the extra step required by a developer to click the little eye icon to load the xcpretty HTML report inline.

It’s not that I want the download URL - I agree that’s not useful. What I want is just a URL for the developers to see the xcpretty HTML report output directly and in a full browser screen. Right now you have to go to the build URL, then click the eye, wait for it to load, and then you get the inline artifact viewer on the build page. That inline viewer is pretty small. I don’t think that’d normally be much of an issue, but it sure would be a lot more pleasant to view the output of a couple thousand tests in a full window. Right now I have to right click in the iframe and say “Open Frame in New Window”.

These probably sound like fairly minor things - a couple extra clicks - but things like this add up and just being able to go directly to the HTML report (artifact permalink) would be a pretty nice convenience.

If that sounds reasonable I can make this a #feature-request.

2 Likes

Definitely makes sense, good point!

If you have the time that’d be wonderful, if for nothing else then for tracking purposes, and to let others add their own comments / insights.