ReadTheDocs Merge
-----------------
-Merge job which triggers a POST of the docs project to readthedocs. There is some setup
-required on read the docs to get started with this. After you have created the
-individual read the docs project (lets call it "PROJECT" here), then browse to
-https://readthedocs.org/dashboard/PROJECT/integrations/ and click on
-"Generic API incoming webhook". Here you will see a custom url to trigger the job as
-well as a token. Persist the token in the project Jenkins global-settings
-file. You will need to put it in a username/password credentials type to make
-it available in the global-settings file. set ```rtd-build-url to the
-custom build url as defined in read the docs. Also set the rtd-server-id
-to the id you specified in the global-settings file, this will enable the script to parse
-the token out. Set ```rtd-project``` to your read the docs project name.
-
+Merge job which triggers a POST of the docs project to readthedocs
:Template Names:
- {project-name}-rtd-merge-{stream}
:jenkins-ssh-credential: Credential to use for SSH. (Generally set
in defaults.yaml)
:rtd-project: This is the name of the project on ReadTheDocs.org.
- :rtd-build-url: This is the generic webhook url from readthedocs.org
- :global-settings-file: This is the location of the Jenkins global settings file.
- This file contains the entry with the location for the readthedocs build token.
- :rtd-server-id: This is the id of the entry in the global-settings-file.
-
:Optional parameters:
name: lf-rtd-trigger-build
builders:
- inject:
- properties-content: |
- RTD_PROJECT={rtd-project}
- RTD_BUILD_URL={rtd-build-url}
- SETTINGS_FILE={global-settings-file}
- SERVER_ID={rtd-server-id}
+ properties-content: RTD_PROJECT={rtd-project}
- shell: !include-raw-escape: ../shell/rtd-trigger-build.sh
- builder:
######################
# Default parameters #
######################
- rtd-project: ''
- rtd-build-url: ''
- global-settings-file: '$WORKSPACE/settings.xml'
- rtd-server-id: ''
-
gerrit_trigger_file_paths:
- compare-type: ANT
builders:
- lf-rtd-trigger-build:
rtd-project: '{rtd-project}'
- rtd-build-url: '{rtd-build-url}'
- global-settings-file: '{global-settings-file}'
- rtd-server-id: '{rtd-server-id}'
- job-template:
name: '{project-name}-rtd-merge-{stream}'
RTD_BUILD_VERSION="${GERRIT_BRANCH/\//-}"
fi
-CREDENTIAL=$(xmlstarlet sel -N "x=http://maven.apache.org/SETTINGS/1.0.0" \
- -t -m "/x:settings/x:servers/x:server[x:id='${SERVER_ID}']" \
- -v x:username -o ":" -v x:password \
- "$SETTINGS_FILE")
-
-RTD_BUILD_TOKEN=$(echo "$CREDENTIAL" | cut -f2 -d:)
-
-curl -X POST -d "branches=$RTD_BUILD_VERSION" -d "token=$RTD_BUILD_TOKEN" "$RTD_BUILD_URL"
-
+curl -X POST --data "version_slug=$RTD_BUILD_VERSION" "https://readthedocs.org/build/$RTD_PROJECT"