GitHub Gollum webhook event to kickoff Travis build

Can’t share a link to an issue because this is happening in an enterprise environment, but I am trying to have Gollum webhook events kick off Travis builds. If I manually go into Settings --> hooks --> and select “Edit” next to Travis it allows me to select which events will be forwarded. I select Gollum and save, but this does not seem to be enabling builds to kick off whenever a wiki page is added / deleted / edited. Is this possible or should I try another avenue?

What’s Gollum?

Gollum is what powers GitHub Wikis (https://github.com/gollum/gollum). So, I want to kick off Travis builds whenever a Wiki page is edited / added / removed.

If you edit the Travis webhook there is an option to check “wiki” which should send the “gollum” event.

I understand now.

You are correct; we do not respond to GollumEvent. What sort of things do you want your CI service to perform when this event fires?

Sorry for the delayed response, fell off my radar, as I implemented a workaround.

My team uses GitHub Enterprise Gollum wikis to document all our processes. Functional leads are responsible for their own sub-wiki (dedicated repos) and all are linked to from a master wiki. One of the primary problems with native Gollum wikis is that you can’t submit pull requests for contributions, so anyone who wants to contribute wiki content needs full write privileges. In order for people to contribute without needing that level of access we have a $function-wiki repo and everyone commits wiki pages there so we can leverage the native workflows, then we have a Travis job running these commands.

git remote remove origin
git remote remove upstream
git remote add origin https://${GITHUB_PERSONAL_TOKEN}@github.company-name.com/${TRAVIS_REPO_SLUG}
git remote add upstream https://${GITHUB_PERSONAL_TOKEN}@github.company-name.com/${TRAVIS_REPO_SLUG}.wiki
git pull origin master --no-edit
git push upstream master --force

Gollum wikis are still github repos under the hood, so this syncs all changes to the staging repo with the upstream wiki.

This solves one problem, but when an admin accidentally writes directly to the wiki without going through the pipeline then downstream gets stale. So, I wanted to have the ability to basically run this in reverse with the wiki being downstream and the staging repo being upstream, but I would need a way for Travis to also kick off a job whenever a Gollum event comes in. I wrote a bash script that could accomplish this using default Travis environment variables if only a job would run for repos any time a change was made to their relative .wiki repo.

Imprint