Configuring Postman for SyteLine Authentication
Start by creating a Postman environment with variables for your SyteLine connection: base_url, client_id, client_secret, token_url, and access_token. For ION API OAuth authentication, create a pre-request script that checks whether the current access token is expired and automatically requests a new one. For on-premise Basic Auth, store the encoded credentials in an environment variable and reference it in the Authorization header.
Use Postman environments to switch between development, test, and production SyteLine instances without modifying individual requests.
- Environment variables: base_url = https://{tenant}.inforcloudsuite.com, token_url = {base_url}/{tenant}/as/token.oauth2
- Pre-request OAuth script: check token expiry, POST to token_url with client_credentials grant, store access_token
- Authorization header: set collection-level auth to Bearer Token with value {{access_token}} for all requests
- Environment switching: create Dev, Test, Prod environments with different base_url and credential variables
- Secure variables: mark client_secret as a Secret type in Postman to prevent accidental exposure in shared collections
Building a SyteLine API Test Collection
Organize your Postman collection by IDO or business domain: Items, Customers, Orders, Inventory, Production. For each IDO, create GET, POST, PUT, and DELETE request templates with example parameters and body payloads. Add Postman Tests (JavaScript assertions) to each request to validate response structure, status codes, and data values.
Use collection variables to chain requests together: a POST that creates a test record stores the ID in a variable, then a GET verifies the record exists, then a DELETE cleans up. This creates a self-contained test workflow.
- Folder structure: Collection > Items (GET List, GET Single, POST Create, PUT Update, DELETE Remove)
- Test assertions: pm.test('Status 200', () => pm.response.to.have.status(200)) validates success responses
- Response schema validation: pm.test('Schema', () => tv4.validate(jsonData, schema)) ensures response structure
- Variable chaining: pm.environment.set('createdItemId', jsonData.RowPointer) passes data between requests
- Cleanup teardown: add a DELETE request at the end of test workflows to remove test records from SyteLine
Automating API Tests with Newman and CI
Export your Postman collection and environment files and run them in your CI pipeline using Newman, the Postman command-line runner. Newman executes every request in the collection, runs the test assertions, and generates reports in JUnit, HTML, or JSON format. Integrate Newman into your Jenkins, Azure DevOps, or GitHub Actions pipeline to run SyteLine API tests automatically on every integration code change.
Schedule nightly Newman runs against your test SyteLine environment to catch API regressions introduced by SyteLine patches or configuration changes.
- Export collection: Postman > Collection > Export > Collection v2.1 as syteline-api-tests.json
- Newman CLI: npx newman run syteline-api-tests.json -e syteline-test-env.json --reporters cli,junit
- CI integration: add Newman step after build in your pipeline; fail the build if any API test fails
- Nightly regression: schedule a CI job to run the full Postman collection against the SyteLine test environment daily
- Report artifacts: archive JUnit XML reports for test history and HTML reports for developer review
Try it here, free
SyteLine Upgrade Regression Test Checklist
A practical regression checklist for SyteLine upgrades across business processes, customizations, reports and integrations.
Netray AI agents generate comprehensive Postman collections for your SyteLine API endpoints, including authentication scripts, test assertions, and CI pipeline configurations. Automate your API testing today.