The user tessus is looking for a way to edit a post via API without bumping the topic. They need to update a post every 30 minutes as a status update for a repository action.
tessus has tried using the API to update the post, but it keeps bumping the topic. Mark_Schmucker suggested resetting the bump date manually using PUT /t/{topic-id}/reset-bump-date, but tessus found that this does not prevent the topic from being bumped initially.
tessus concluded that it is not possible to edit a post via API without bumping the topic and decided to use a different solution for their status update page.
Other users pfaffman and bartv suggested workarounds such as muting the topic, putting it in a category that isn’t in /latest, or using a second API call to reset the bump date. However, tessus found that these workarounds are not suitable for their needs.
rking mentioned that plugins can be built to achieve this functionality, and pfaffman suggested using a custom site setting and plugin outlet to display the status update. An existing plugin, discourse-atlassian-statuspage, is also available for this purpose.
I’ve searched the forum, but only found topics related to replies. None of them mentioned edits or the API.
I use one topic as a status update for a repository action that happens every 30 minutes. I’m updating the post (editing the first and only post within that topic) via the API.
Unfortunately the topic is thus bumped every 30 minutes. This is rather annoying. Is there any way I can update/edit a post (via API) without bumping the topic?
Thanks for the reply, but I’m afraid this makes no sense. As soon as I edit the post it has already been bumped. So I am sorry, but I don’t understand how this would help me.
Do I reset the bump date once and all consecutive edits won’t bump the topic? The explanation in the link is rather vague. When do I reset the bump date? Before? After? If the latter, I still don’t understand. At that time the topc already got bumped.
Ok, I have given up on using Discourse for a status page.
Here are my comments to previous replies:
Ok, so it’s bumped anyway. Not a solution. Not even a workaround. Sorry.
How do I mute the topic for everyone? Right, not possible.
Putting it in a category that isn’t in /latest is not a usable workaround. Also, it would still bump within its category, just not in /latest, wouldn’t it?
I’m grateful for your answers, but unfortunately the real answer is: There is no way to do that. It is not possible.
No mattter, I will use something other than Discourse for the status update page.
You could hide the topic. You could put the topic in a category that is default muted. You could hide it completely and then add it …somewhere… with a theme component.
I have already unlisted it, but it still bumps for admins.
Either way, it should be pinned in a certain category but not bumped whatsoever. But as I have already found out… it’s just not possible. Trying to find workarounds that require a compromise are not very useful to me. I’m ok with not using Discourse for such a use-case. It was just not built for this. That’s ok.
We have built several plugins for Enterprise customers that poll their preexisting status page and place a banner on the Discourse site to notify users of outages.
Getting a similar plugin that works with a common service like status.io onto our hosting plans seems like a viable path forward.
So you just…poll something and if there’s news then you stick it in, say, a custom site setting, and add it to the serializer and stick it in somewhere with a plugin outlet?
Something like that?
EDIT: Oh, it’s so much easier than that. I’m still programming in the 1990s.