Table of contents

Redirect an HTML attachment's URL in Whitehall

HtmlAttachments belong to an Edition of a Document. When an Edition is unpublished or withdrawn, there is an option to add a redirect to the URL. This redirect should also be applied to the Edition’s HtmlAttachments, and the new URL sent to the PublishingAPI.

This process does not always work successfully, and HtmlAttachments for unpublished Editions remain accessible via their original URL.

Redirect an Edition’s HtmlAttachments


A Rake Tasks exist in Whitehall to quickly redirect all HtmlAttachments for an unpublished Edition. The tasks takes the Edition’s Document’s content id, and the desired redirection URL.

There are two interfaces for dry and real runs, to ensure the correct HtmlAttachments are being targeted before redirecting.


The Rake task will search for most recent Edition belonging to the Document. The task will throw an EditionNotUnpublished error if the Edition is not unpublished or withdrawn. The task will throw a HTMLAttachmentsNotFound error if the Edition has no HtmlAttachments.

Dry run
$ bundle exec 'publishing_api:redirect_html_attachments:dry[document_content_id,redirection_url]'

Jenkins - integration

This attempts to locate the HtmlAttachments for the latest unpublished Edition of the Document, and if found, report to the user the HtmlAttachment’s slugs and where they would have been redirected to.

Real run
$ bundle exec 'publishing_api:redirect_html_attachments:real[document_content_id,redirection_url]'

Jenkins - integration

This will actually request that the PublishingApi redirects the selected HtmlAttachments.


Republishing the Edition will cause all redirects to be removed, and the HtmlAttachments will again be accessible via their original URL’s, as linked to in the Edition.

This page was last reviewed on 27 March 2019. It needs to be reviewed again on 27 September 2019 by the page owner #govuk-2ndline .
This page was set to be reviewed before 27 September 2019 by the page owner #govuk-2ndline. This might mean the content is out of date.