GitHub Action
Get XML Info
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 install
to install all dependencies - Install
vercel/ncc
by running this command in your terminal:npm i -g @vercel/ncc
- Compile your index.js file:
ncc build index.js --license licenses.txt