Global install
npm install -g git+ssh://git@github.com:versionone/spigot.git
Cloning
git clone git@github.com:versionone/spigot.git
Local build
#Install dependencies
npm install
#Build
npm run build
Globally installed
spigot
Local clone
./bin/spigot
spigot --url <url> --username <username> --password <password> --throttle <events per second> --forever --parallel [spigot files]
--url
Url to VersionOne--username
Username--password
Password--throttle
Number of events per second--parallel
Run commands in parallel--forever
Repeat spigot infinitely[spigot files]
A list of spigot json files
{
"commands": [{
"command": "create",
"assetType": "Story",
"attributes": {
"Name": "Story 1",
"Scope": "Scope:0"
}
}]
}
{
"commands": [{
"command": "create",
"times": "5",
"assetType": "Story",
"attributes": {
"Name": "StoryName",
"Scope": "Scope:0"
}
},
{
"command": "create",
"assetType": "Bundle",
"attributes": {
"Name": "Story 1",
"Workitems": [
"{{StoryName 1}}",
"{{StoryName 2}}",
"{{StoryName 3}}"
"{{StoryName 4}}"
]
}
}]
}
{
"commands": [{
"command": "update",
"assetType": "Story",
"oid": "Story:1005",
"attributes": {
"Name": "Renamed Story"
}
}]
}
{
"commands": [
{
"command": "create",
"assetType": "Story",
"attributes": {
"Name": "Story with owners",
"Scope": "Scope:0"
}
},
{
"command": "update",
"assetType": "Story",
"oid": "{{Story}}",
"attributes": {
"Owners": [
"Member:20",
"Member:1133",
"Member:1134"
]
}
},
{
"command": "update",
"assetType": "Story",
"oid": "{{Story}}",
"attributes": {
"Owners": [
{ "idref": "Member:1133", "act": "remove" }
]
}
}
]
}
Use {{<assettype>}}
example: {{Story}}
or {{Task}}
{
"commands": [{
"command": "create",
"assetType": "Story",
"attributes": {
"Name": "Story 1",
"Scope": "Scope:0"
}
}, {
"command": "create",
"assetType": "Task",
"attributes": {
"Name": "Task 1",
"Parent": "{{Story}}"
}
},
}
Use {{<asset name>}}
example: {{Story 1}}
or {{A Specific Story}}
{
"commands": [{
"command": "create",
"assetType": "Story",
"attributes": {
"Name": "Story 1",
"Scope": "Scope:0"
}
}, {
"command": "create",
"assetType": "Task",
"attributes": {
"Name": "Task 1",
"Parent": "{{Story 1}}"
}
},{
"command": "create",
"assetType": "Task",
"attributes": {
"Name": "Task 2",
"Parent": "{{A Specific Story}}"
}
}
}
{
"commands": [{
"command": "execute",
"assetType": "Story",
"oid": "Story:1005",
"operation": "Inactivate"
}]
}
Override the defaults url
{
"url": "http://<versionone>",
"commands":[]
}
Overrides the default username and password. This can be useful for simulating multiple users.
{
"username": "admin",
"password": "password",
"commands":[]
}
Supply an incrementing number in strings
{
"username": "admin",
"password": "admin",
"commands": [
{
"command": "create",
"assetType": "Story",
"attributes": {
"Name": "Story {{number}}",
"Scope": "Scope:0"
}
},
{
"command": "create",
"assetType": "Story",
"attributes": {
"Name": "Story {{number}}",
"Scope": "Scope:0"
}
}
]
}
Multiple command sets can be supplied by multiple files. Using a single file use the following format
[{
"username": "admin",
"password": "admin",
"commands": [{
"command": "create",
"assetType": "Story",
"attributes": {
"Name": "Story 1",
"Scope": "Scope:0"
}
}]
}, {
"username": "bob",
"password": "bob",
"commands": [{
"command": "create",
"assetType": "Story",
"attributes": {
"Name": "Story 1",
"Scope": "Scope:0"
}
}]
}, {
"username": "jennifer",
"password": "jennifer",
"commands": [{
"command": "create",
"assetType": "Story",
"attributes": {
"Name": "Story 1",
"Scope": "Scope:0"
}
}]
}]