Add API support
This commit is contained in:
parent
af112c55e5
commit
6f19fc1147
|
@ -138,7 +138,8 @@ Example response:
|
|||
"ruby",
|
||||
"mysql"
|
||||
],
|
||||
"version": null
|
||||
"version": null,
|
||||
"access_level": 0
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -156,6 +157,9 @@ PUT /runners/:id
|
|||
| `description` | string | no | The description of a runner |
|
||||
| `active` | boolean | no | The state of a runner; can be set to `true` or `false` |
|
||||
| `tag_list` | array | no | The list of tags for a runner; put array of tags, that should be finally assigned to a runner |
|
||||
| `run_untagged` | boolean | no | Flag indicating the runner can execute untagged jobs |
|
||||
| `locked` | boolean | no | Flag indicating the runner is locked |
|
||||
| `access_level` | integer | no | The access_level of the runner; `unprotected`: 0, `protected`: 1 |
|
||||
|
||||
```
|
||||
curl --request PUT --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v4/runners/6" --form "description=test-1-20150125-test" --form "tag_list=ruby,mysql,tag1,tag2"
|
||||
|
@ -190,7 +194,8 @@ Example response:
|
|||
"tag1",
|
||||
"tag2"
|
||||
],
|
||||
"version": null
|
||||
"version": null,
|
||||
"access_level": 0
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -775,6 +775,7 @@ module API
|
|||
expose :tag_list
|
||||
expose :run_untagged
|
||||
expose :locked
|
||||
expose :access_level
|
||||
expose :version, :revision, :platform, :architecture
|
||||
expose :contacted_at
|
||||
expose :token, if: lambda { |runner, options| options[:current_user].admin? || !runner.is_shared? }
|
||||
|
|
|
@ -55,7 +55,8 @@ module API
|
|||
optional :tag_list, type: Array[String], desc: 'The list of tags for a runner'
|
||||
optional :run_untagged, type: Boolean, desc: 'Flag indicating the runner can execute untagged jobs'
|
||||
optional :locked, type: Boolean, desc: 'Flag indicating the runner is locked'
|
||||
at_least_one_of :description, :active, :tag_list, :run_untagged, :locked
|
||||
optional :access_level, type: Integer, desc: 'The access_level of the runner'
|
||||
at_least_one_of :description, :active, :tag_list, :run_untagged, :locked, :access_level
|
||||
end
|
||||
put ':id' do
|
||||
runner = get_runner(params.delete(:id))
|
||||
|
|
|
@ -191,7 +191,8 @@ describe API::Runners do
|
|||
active: !active,
|
||||
tag_list: ['ruby2.1', 'pgsql', 'mysql'],
|
||||
run_untagged: 'false',
|
||||
locked: 'true')
|
||||
locked: 'true',
|
||||
access_level: 1)
|
||||
shared_runner.reload
|
||||
|
||||
expect(response).to have_http_status(200)
|
||||
|
@ -200,6 +201,7 @@ describe API::Runners do
|
|||
expect(shared_runner.tag_list).to include('ruby2.1', 'pgsql', 'mysql')
|
||||
expect(shared_runner.run_untagged?).to be(false)
|
||||
expect(shared_runner.locked?).to be(true)
|
||||
expect(shared_runner.protected_?).to be_truthy
|
||||
expect(shared_runner.ensure_runner_queue_value)
|
||||
.not_to eq(runner_queue_value)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue