Get Information from XML files to use into your GitHub workflows
Required The path of the XML file to parse. Default "test.xml".
Required The xpath of the nodes from which you want to retrieve information. Default "//element".
Optional How to handle finding Zero (0) nodes. Default error.
Optional JSON object with namespaces in it
uses: mavrosxristoforos/get-xml-info@1.0
with:
xml-file: 'yourfile.xml'
xpath: '//element'
namespaces: '{"x": "http://maven.apache.org/POM/4.0.0"}'
node dist/index.js -f path/to/xmlfile -p //element
You can also add -d for debug output.
node dist/index.js -f path/to/file.xml -p //element -d
To leverage the zero-nodes-action functionality, use the -z argument:
node dist/index.js -f file.xml -p //version -z warn
node dist/index.js -f file.xml -p //version -z silent
Alternatively, if you are developing the code, you can run npm install, and run the non-compiled index.js version in the root directory.
Since version 1.1.0, you can now also read attributes. Example:
//element/@version
Namespaces are currently not supported, so you can use the local-name() XPath function instead. Example:
//*[local-name()='project']/*[local-name()='version']
The content of the matched nodes. If your XPath matches more than one nodes, the output is an array.
If zero-nodes-action='warn' and no nodes are found, info will contain the message "Zero Nodes Found."
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Get XML
id: getxml
uses: mavrosxristoforos/get-xml-info@1.0
with:
xml-file: 'a-file-here.xml'
xpath: '//version'
- name: Create Release
uses: some-random/release-action@v1
with:
artifacts: 'another-file.zip'
tag: ${{ steps.getxml.outputs.info }}
- Run
npm installto install all dependencies - Install
vercel/nccby running this command in your terminal:npm i -g @vercel/ncc - Compile your index.js file:
ncc build index.js --license licenses.txt