pull_request_ai 0.1.0 → 0.1.1
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4fe8a3b4b780f8437d9f4937570f40494d0e9f925dfb7a16f6dbb16917a60766
|
4
|
+
data.tar.gz: 75bf13c5258ee2618747b26a0edd211a1194c28df15c03b6b2ea271b9f22e2b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c4719245d1e53039b74c6190168d4a58c29defa2e4caded24a817e652db1321e51758cc18dc467e9d392bd170990fda1650d4e2a2642f081cf624153bf530bd
|
7
|
+
data.tar.gz: 4b4b8c5e1d22df7d99d3a2982e6686b36ef90075ab23c1edc1ca1f5037a2cc8a80ebc09b6abb72dd5f5252e22cd6ffcc5a2f96e487b88ceee59f3a609b5b6506
|
@@ -81,8 +81,8 @@ requestDescriptionButton.onclick = () => {
|
|
81
81
|
else {
|
82
82
|
enableSubmission(data);
|
83
83
|
}
|
84
|
-
}).catch(
|
85
|
-
window.showNotification({ message:
|
84
|
+
}).catch(error => {
|
85
|
+
window.showNotification({ message: error.message, theme: "error" });
|
86
86
|
});
|
87
87
|
}
|
88
88
|
|
@@ -102,8 +102,8 @@ createPullRequestButton.onclick = () => {
|
|
102
102
|
jsonPost('/rrtools/pull_request_ai/create', data).then(data => {
|
103
103
|
hideSpinner();
|
104
104
|
processData(data, "Pull Request created successfully.");
|
105
|
-
}).catch(
|
106
|
-
window.showNotification({ message:
|
105
|
+
}).catch(error => {
|
106
|
+
window.showNotification({ message: error.message, theme: "error" });
|
107
107
|
});
|
108
108
|
}
|
109
109
|
|
@@ -114,8 +114,8 @@ updatePullRequestButton.onclick = () => {
|
|
114
114
|
jsonPost('/rrtools/pull_request_ai/update', data).then(data => {
|
115
115
|
hideSpinner();
|
116
116
|
processData(data, "Pull Request updated successfully.");
|
117
|
-
}).catch(
|
118
|
-
window.showNotification({ message:
|
117
|
+
}).catch(error => {
|
118
|
+
window.showNotification({ message: error.message, theme: "error" });
|
119
119
|
});
|
120
120
|
}
|
121
121
|
|
@@ -7,10 +7,13 @@ module PullRequestAi
|
|
7
7
|
def new
|
8
8
|
@types = [['Feature', :feature], ['Release', :release], ['HotFix', :hotfix]]
|
9
9
|
|
10
|
+
@misconfigured = PullRequestAi.openai_api_key.nil? || PullRequestAi.openai_api_key.empty?
|
11
|
+
@error_message = 'Missing the OpenAI API Key.' if @misconfigured
|
12
|
+
|
10
13
|
client.destination_branches.fmap do |branches|
|
11
|
-
@branches = branches
|
14
|
+
@branches = branches
|
12
15
|
end.or do |error|
|
13
|
-
@error_message
|
16
|
+
@error_message ||= error.description
|
14
17
|
end
|
15
18
|
end
|
16
19
|
|
@@ -9,7 +9,7 @@
|
|
9
9
|
</div>
|
10
10
|
</div>
|
11
11
|
|
12
|
-
<div id='prepare-container' class=<%= 'hide' if @error_message %>>
|
12
|
+
<div id='prepare-container' class=<%= 'hide' if @error_message || @misconfigured %>>
|
13
13
|
<div class='flex'>
|
14
14
|
<div class='mr-10 fw'>
|
15
15
|
<%= label_tag :branch_title, 'Destination Branch*' %>
|
@@ -27,8 +27,62 @@
|
|
27
27
|
</div>
|
28
28
|
</div>
|
29
29
|
|
30
|
+
<div class=<%= 'hide' unless @misconfigured %>>
|
31
|
+
<h3>Configuration guide</h3>
|
32
|
+
<p class='mt-10 w-760'>To configure this Rails Engine you can <strong>just</strong> set some specific Environment Variables or you can use the Rails Engine initializer class.</p>
|
33
|
+
<p class='mt-10 w-760'>The minimum requirement that allows this Rails Engine to ask chatGPT Pull Request descriptions based on Git respository changes is the <a href="https://platform.openai.com/account/usage" rel="nofollow">OpenAI Key</a>.</p>
|
34
|
+
<p class='mt-20 w-760'>Using <strong>only</strong> Environment Variable you need to set:</p>
|
35
|
+
<ul class='mt-10'>
|
36
|
+
<li><a href="https://platform.openai.com/account/usage" rel="nofollow">OPENAI_API_KEY</a></li>
|
37
|
+
</ul>
|
38
|
+
<p class='mt-20'>OR, if you choose to use the initializer:</p>
|
39
|
+
<div class='mt-10'>
|
40
|
+
<pre>
|
41
|
+
<span>PullRequestAi.configure do |config|</span>
|
42
|
+
<span> config.openai_api_key = 'YOUR_OPENAI_API_KEY'</span>
|
43
|
+
<span>end</span>
|
44
|
+
</pre>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<h3 class='mt-40'>Integrations</h3>
|
48
|
+
<p class='mt-10 w-760'>To enable direct creation or updating of Pull Requests this Rails Engine can integrate with GitHub or Bitbucket.</p>
|
49
|
+
<p class='mt-10 w-760'>For GitHub you need to provide a <a href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token">GitHub Access Token</a>.
|
50
|
+
And for Bitbucket you need to provide a <a href="https://bitbucket.org/account/settings/app-passwords/" rel="nofollow">Bitbucket App Password</a> and your Bitbucket Username.</p>
|
51
|
+
|
52
|
+
<h4 class='mt-40'>GitHub Configuration</h4>
|
53
|
+
<p class='mt-10 w-760'>Using <strong>only</strong> Environment Variable you need to set:</p>
|
54
|
+
<ul class='mt-10'>
|
55
|
+
<li><a href="https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token" rel="nofollow">GITHUB_ACCESS_TOKEN</a></li>
|
56
|
+
</ul>
|
57
|
+
<p class='mt-20'>OR, if you choose to use the initializer:</p>
|
58
|
+
<div class='mt-10'>
|
59
|
+
<pre>
|
60
|
+
<span>PullRequestAi.configure do |config|</span>
|
61
|
+
<span> config.github_access_token = 'YOUR_GITHUB_ACCESS_TOKEN'</span>
|
62
|
+
<span>end</span>
|
63
|
+
</pre>
|
64
|
+
</div>
|
65
|
+
|
66
|
+
<h4 class='mt-40'>Bitbucket Configuration</h4>
|
67
|
+
<p class='mt-10 w-760'>Using <strong>only</strong> Environment Variable you need to set:</p>
|
68
|
+
<ul class='mt-10'>
|
69
|
+
<li><a href="https://bitbucket.org/account/settings/app-passwords/" rel="nofollow">BITBUCKET_APP_PASSWORD</a></li>
|
70
|
+
<li><a href="https://bitbucket.org/account/settings/" rel="nofollow">BITBUCKET_USERNAME</a></li>
|
71
|
+
</ul>
|
72
|
+
<p class='mt-20'>OR, if you choose to use the initializer:</p>
|
73
|
+
<div class='mt-10'>
|
74
|
+
<pre>
|
75
|
+
<span>PullRequestAi.configure do |config|</span>
|
76
|
+
<span> config.bitbucket_app_password = 'YOUR_BITBUCKET_APP_PASSWORD'</span>
|
77
|
+
<span> config.bitbucket_username = 'YOUR_BITBUCKET_USERNAME'</span>
|
78
|
+
<span>end</span>
|
79
|
+
</pre>
|
80
|
+
</div>
|
81
|
+
|
82
|
+
</div>
|
83
|
+
|
30
84
|
<div class='flex'>
|
31
|
-
<%= button_tag 'Reload', { id: 'reload-btn', class: "mt-20#{@error_message ? '' : ' hide'}" } %>
|
85
|
+
<%= button_tag 'Reload', { id: 'reload-btn', class: "mt-20#{@error_message && !@misconfigured ? '' : ' hide'}" } %>
|
32
86
|
<%= button_tag 'Request Description', { id: 'request-description-btn', class: "mt-20#{@error_message ? ' hide' : ''}" } %>
|
33
87
|
</div>
|
34
88
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pull_request_ai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Runtime Revolution
|
@@ -14,72 +14,72 @@ dependencies:
|
|
14
14
|
name: dry-monads
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.6.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.6.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: git_clone_url
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.0.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.0.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: httparty
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.21.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.21.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rack-attack
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 6.6.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 6.6.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rails
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 6.1.4
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 6.1.4
|
83
83
|
description: Rails Engine that provides pull requests descriptions generated by ChatGPT.
|
84
84
|
email:
|
85
85
|
- info@runtime-revolution.com
|