pra 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ChangeLog.md +6 -0
- data/README.md +20 -5
- data/lib/pra/stash_pull_source.rb +5 -1
- data/lib/pra/version.rb +1 -1
- data/spec/lib/pra/stash_pull_source_spec.rb +34 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 89ec7f7f85002e86fe74ddf30a681f9ddf18c101
|
4
|
+
data.tar.gz: daae02b72670be46c098602e4250dd1503164881
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a276f3ef1fdb56116663a3df39fa88cf40d5105e6adbb7f60ccc68644b172bd24e374fd082ae6acbe68835640878f42b7778ef45a9519858bece29d0b5a8e8ff
|
7
|
+
data.tar.gz: f27e44406fc7e07362fbc7ad5f12a94c248e7afe9073c8d702cb2700a6674c7334b6a4bad386da4e6d709f51aa6ecaab01460a2bc85963ba3eea5e98af4ac073
|
data/ChangeLog.md
CHANGED
@@ -6,6 +6,12 @@ versions as well as provide a rough history.
|
|
6
6
|
|
7
7
|
#### Next Release
|
8
8
|
|
9
|
+
#### v1.3.0
|
10
|
+
|
11
|
+
* Added support for Stash user profile repositories. This means you can now
|
12
|
+
have `pra` watch not only your Stash project housed repositories but also
|
13
|
+
your personal repositories that are housed under your Stash user profile.
|
14
|
+
|
9
15
|
#### v1.2.0
|
10
16
|
|
11
17
|
* Added Assignee blacklisting so that when you have a group user that
|
data/README.md
CHANGED
@@ -21,11 +21,6 @@ directory. The following is an example config that can be used as a starter.
|
|
21
21
|
**your.stash.server**, and the **repositories** sections of each of the pull
|
22
22
|
sources.
|
23
23
|
|
24
|
-
#### Assignee Blacklist
|
25
|
-
|
26
|
-
Reduces noise to more easily determine which pull requests are unassigned. Names
|
27
|
-
added will not appear in the assignee column.
|
28
|
-
|
29
24
|
{
|
30
25
|
"pull_sources": [
|
31
26
|
{
|
@@ -37,6 +32,7 @@ added will not appear in the assignee column.
|
|
37
32
|
"password": "your.password",
|
38
33
|
"repositories": [
|
39
34
|
{ "project_slug": "CAP", "repository_slug": "capture_api" },
|
35
|
+
{ "user_slug": "bob.villa", "repository_slug": "personal_notes" },
|
40
36
|
{ "project_slug": "RELENG", "repository_slug": "ramboo" }
|
41
37
|
]
|
42
38
|
}
|
@@ -66,6 +62,25 @@ file to get you started. Then simply replace the appropriate fields and the
|
|
66
62
|
**repositories** sections for all the pull sources with the repository
|
67
63
|
information for the repositories you want to watch for open pull requests.
|
68
64
|
|
65
|
+
#### Stash User & Project Repositories
|
66
|
+
|
67
|
+
You may have noticed that the above example shows two repository objects in its
|
68
|
+
Stash **repositories** array.
|
69
|
+
|
70
|
+
1. Project Scoped Repository - `{ "project_slug": "CAP", "repository_slug": "capture_api" },`
|
71
|
+
2. User Scoped Repository - `{ "user_slug": "bob.villa", "repository_slug": "personal_notes" },`
|
72
|
+
|
73
|
+
This is because Stash has both the concept of repsositories that are organized
|
74
|
+
under Projects and repositories that are organized under Users. Therefore, you
|
75
|
+
would want to use the **User Scoped Repository** in scenarios where the
|
76
|
+
repository is housed under a user and the **Project Scoped Repository** in
|
77
|
+
scenarios where the repository is housed under a project.
|
78
|
+
|
79
|
+
#### Assignee Blacklist
|
80
|
+
|
81
|
+
Reduces noise to more easily determine which pull requests are unassigned. Names
|
82
|
+
added will not appear in the assignee column.
|
83
|
+
|
69
84
|
### GitHub Authentication
|
70
85
|
|
71
86
|
#### Multi-Factor Authentication
|
@@ -26,7 +26,11 @@ module Pra
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def rest_api_pull_request_url(repository_config)
|
29
|
-
|
29
|
+
if repository_config.has_key?("user_slug")
|
30
|
+
"#{@config['protocol']}://#{@config['host']}/rest/api/1.0/users/#{repository_config["user_slug"]}/repos/#{repository_config["repository_slug"]}/pull-requests"
|
31
|
+
else
|
32
|
+
"#{@config['protocol']}://#{@config['host']}/rest/api/1.0/projects/#{repository_config["project_slug"]}/repos/#{repository_config["repository_slug"]}/pull-requests"
|
33
|
+
end
|
30
34
|
end
|
31
35
|
|
32
36
|
def rest_api_pull_request_resource(repository_config)
|
data/lib/pra/version.rb
CHANGED
@@ -78,21 +78,42 @@ describe Pra::StashPullSource do
|
|
78
78
|
end
|
79
79
|
|
80
80
|
describe "#rest_api_pull_request_url" do
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
81
|
+
context "when config is for a user repository" do
|
82
|
+
let(:config) do
|
83
|
+
{
|
84
|
+
"protocol" => "https",
|
85
|
+
"host" => "my.stash.instance",
|
86
|
+
"username" => "foo",
|
87
|
+
"password" => "bar",
|
88
|
+
"repositories" => [
|
89
|
+
{ "user_slug" => "andrew.deponte", "repository_slug" => "capture_api" }
|
90
|
+
]
|
91
|
+
}
|
92
|
+
end
|
93
|
+
|
94
|
+
it "returns the user pull request url compiled from the config options" do
|
95
|
+
pull_source = Pra::StashPullSource.new(config)
|
96
|
+
expect(pull_source.rest_api_pull_request_url({ "user_slug" => "andrew.deponte", "repository_slug" => "capture_api" })).to eq("https://my.stash.instance/rest/api/1.0/users/andrew.deponte/repos/capture_api/pull-requests")
|
97
|
+
end
|
91
98
|
end
|
92
99
|
|
93
|
-
|
94
|
-
|
95
|
-
|
100
|
+
context "when config is for a project repository" do
|
101
|
+
let(:config) do
|
102
|
+
{
|
103
|
+
"protocol" => "https",
|
104
|
+
"host" => "my.stash.instance",
|
105
|
+
"username" => "foo",
|
106
|
+
"password" => "bar",
|
107
|
+
"repositories" => [
|
108
|
+
{ "project_slug" => "CAP", "repository_slug" => "capture_api" }
|
109
|
+
]
|
110
|
+
}
|
111
|
+
end
|
112
|
+
|
113
|
+
it "returns the project pull request url compiled from the config options" do
|
114
|
+
pull_source = Pra::StashPullSource.new(config)
|
115
|
+
pull_source.rest_api_pull_request_url({ "project_slug" => "CAP", "repository_slug" => "capture_api" }).should eq("https://my.stash.instance/rest/api/1.0/projects/CAP/repos/capture_api/pull-requests")
|
116
|
+
end
|
96
117
|
end
|
97
118
|
end
|
98
119
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew De Ponte
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|