{"id":20065735,"url":"https://github.com/inflectra/spira-buildserver-azure-devops","last_synced_at":"2026-06-25T02:31:45.016Z","repository":{"id":98238603,"uuid":"359164534","full_name":"Inflectra/spira-buildserver-azure-devops","owner":"Inflectra","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-14T10:10:26.000Z","size":2660,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-05T07:37:08.071Z","etag":null,"topics":["spira"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Inflectra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-18T14:23:11.000Z","updated_at":"2025-09-11T15:11:11.000Z","dependencies_parsed_at":"2024-11-13T13:52:38.110Z","dependency_job_id":"db407848-e9e1-44da-a614-9a908003d9fb","html_url":"https://github.com/Inflectra/spira-buildserver-azure-devops","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Inflectra/spira-buildserver-azure-devops","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inflectra%2Fspira-buildserver-azure-devops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inflectra%2Fspira-buildserver-azure-devops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inflectra%2Fspira-buildserver-azure-devops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inflectra%2Fspira-buildserver-azure-devops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Inflectra","download_url":"https://codeload.github.com/Inflectra/spira-buildserver-azure-devops/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inflectra%2Fspira-buildserver-azure-devops/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34757353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-25T02:00:05.521Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["spira"],"created_at":"2024-11-13T13:52:28.924Z","updated_at":"2026-06-25T02:31:45.006Z","avatar_url":"https://github.com/Inflectra.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spira Extension for Azure DevOps\n\n## Brief Overview\nAuomatically create builds in SpiraTest/Team/Plan when they complete in DevOps.\n\n### Don't have Spira?\nIf you do not have a Spira subscription, fear not! You can get a 30 day free trial for our flagship ALM product [SpiraPlan](http://www.inflectra.com/SpiraPlan/). No credit card needed.\n\n### Guide Basics\nThis guide assumes you are familiar with Azure DevOps Pipelines and have already installed our plugin from the DevOps marketplace.\n\n## Authenticating with Spira\nIn DevOps, open the project you would like to have builds sync with Spira. Go to Project Settings \u003e Pipelines \u003e Service Connections\n\nUnder Service connections, click the \"New service connection\" button and click \"SpiraPlan Configuration.\" Under connection name, put something helpful like `SpiraPlan Fred Bloggs`\n\nFor SpiraPlan URL put the 'root' directory of your Spira instance, not including the end slash. For username, put the username you use to sign-in to Spira. For RSS Token, go to your user profile page in Spira, enable RSS Feeds and copy the token into DevOps. Now verify the connection by clicking \"Verify connection,\" if you entered everything correctly, you're good to go!\n\n## Adding the Spira Build Task\nNow in the pipeline you would like to add Spira support to, open the pipeline's YAML file and in the assistant to the right, search \"Spira\" and select \"Export data to Spira\" Select the service connection name you put in earlier, enter the ID of the project in Spira you would like your results sent to, the ID of the release you would like the builds to be associated with, and the base url of your DevOps instance (like https://dev.azure.com/fabrikam or https://fabrikam.visualstudio.com)\n\nThe other fields are used internally by the plugin and should be left as-is - DO NOT CHANGE THEM. Click \"Add\" and add the `condition: succeededOrFailed()` above `inputs` in the YAML snippet. This makes sure that the Spira task can access the current build status.\n\nNow move the `spira-build-task` YAML Snippet to the end of the file so that it's executed last. This will make sure that the final result of the build gets recorded in Spira.\n\nHere is an example YAML file:\n```YAML\ntrigger:\n- master\n\npool:\n  vmImage: 'ubuntu-latest'\n\nsteps:\n- task: NodeTool@0\n  inputs:\n    versionSpec: '10.x'\n  displayName: 'Install Node.js'\n- script: |\n    npm install\n    npm test\n  displayName: 'npm install and test'\n- task: PublishTestResults@2\n  condition: succeededOrFailed()\n  inputs:\n    testRunner: JUnit\n    testResultsFiles: '**/junitresults-*.xml'\n- task: spira-build-task@0\n  condition: succeededOrFailed()\n  inputs:\n    connectedService: 'SpiraPlan Fred Bloggs'\n    project: '2'\n    releaseId: '20'\n    baseUrl: 'https://dev.azure.com/inflectra'\n    buildNumber: '$(Build.BuildNumber)'\n    buildStatus: '$(Agent.JobStatus)'\n    buildId: '$(Build.BuildId)'\n    sourceVersion: '$(Build.SourceVersion)'\n    projectName: '$(System.TeamProject)'\n```\nIf everything had been configured correctly a new build in DevOps will create a new build in Spira!\n\n## Developer Setup\n\n### Prerequisites\nInstall the TFS Cross Platform Command Line Interface (tfx-cli):\n```bash\nnpm install -g tfx-cli\n```\n\n### Building and Packaging\n1. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n2. Build the bundled task:\n   ```bash\n   npm run build\n   ```\n\n3. Package the extension:\n   ```bash\n   tfx extension create\n   ```\n\n### Version Management\nUpdate version numbers in these files before packaging:\n\n1. **Extension version** in `vss-extension.json`:\n   ```json\n   \"version\": \"1.1\"\n   ```\n\n2. **Task version** in `BuildTaskFolder/task.json`:\n   ```json\n   \"version\": {\n       \"Major\": \"0\",\n       \"Minor\": \"2\", \n       \"Patch\": \"1\"\n   }\n   ```\n\n3. **Package version** in `package.json`:\n   ```json\n   \"version\": \"1.1.0\"\n   ```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finflectra%2Fspira-buildserver-azure-devops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finflectra%2Fspira-buildserver-azure-devops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finflectra%2Fspira-buildserver-azure-devops/lists"}