Use this tool if: If you're working on an FHIR Implementation Guide in a public GitHub repository and want your work-in-progress to be visible as part of the FHIR Continuous Integration (CI) build service at https://build.fhir.org.
By following the instructions below, you can configure your GitHub repository to auto-build every time you make a commit (on any branch), and the resulting output (successful IG content, or debugging logs) will automatically be pushed to https://build.fhir.org.
- Create an IG in a new folder, including *a file called
ig.json
orig.ini
alongside any other content (for example apages
folder) that your IG requires. See https://confluence.hl7.org/display/FHIR/IG+Publisher+Documentation for full documentation. (Note: if you are usingig.json
, you must not change the value ofpaths.output
in yourig.json
from"output"
if you want to maintain compatibility with the auto-builder.) - Put your IG on GitHub: create a GitHub repository within your own organization, and push your content to GitHub.
- Add a Webhook in GitHub: click "Settings", then "Webhooks & Services", then "Add Webhook".
- Configure the Webhook: enter a URL of
https://us-central1-fhir-org-starter-project.cloudfunctions.net/ig-commit-trigger
. Choose "Content type" ofapplication/json
and accept the default (blank) "secret". Choose "Just the push event" as your trigger, and then click "Add webhook".
Now GitHub will automatically trigger a build whenever you commit changes.
Note: a build takes 2-3 minutes to complete. You should see a notification at https://chat.fhir.org/#narrow/stream/179297-committers.2Fnotification/topic/ig-build .
https://build.fhir.org/ig/:org/:repo/branches/:branch
(The master branch will also be available directly at https://build.fhir.org/ig/:org/:repo .)
For a build log, see: https://build.fhir.org/ig/:org/:repo/branches/:branch/build.log
(Logs for the master branch will also be available directly at https://build.fhir.org/ig/:org/:repo/build.log .)
You can always push a new commit to your repo. But if you want to re-trigger a build for an existing commit, you have a couple of options. You can navigate through the GitHub UI within your repo to "Settings > Webhooks > ig-commit-trigger", scroll down to "Recent Deliveries," click the top one, and click "Redeliver.
Or if you want to trigger a build programatically, you can POST
to the Webhook URL yourself, for example:
curl -X POST "https://us-central1-fhir-org-starter-project.cloudfunctions.net/ig-commit-trigger" \
-H "Content-type: application/json" \
--data '{"ref": "refs/heads/master", "repository": {"full_name": "test-igs/simple"}}'