Skip to content
This repository was archived by the owner on May 7, 2024. It is now read-only.

Commit 43c888e

Browse files
committed
initial creation of the sample and readme
1 parent d0ce400 commit 43c888e

File tree

8 files changed

+87
-21
lines changed

8 files changed

+87
-21
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ dist/
4444
global.json
4545
BenchmarkDotNet.Artifacts/
4646
korebuild-lock.txt
47+
PullRequestR/android/.gradle/
4748
!PullRequestR/function-dotnet/.vscode
4849
!PullRequestR/function-javascript/.vscode
4950
!PullRequestR/function-javascript/local.settings.json

PullRequestR/android/android.iml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module external.linked.project.id="android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
3+
<component name="FacetManager">
4+
<facet type="java-gradle" name="Java-Gradle">
5+
<configuration>
6+
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
7+
<option name="BUILDABLE" value="false" />
8+
</configuration>
9+
</facet>
10+
</component>
11+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">
12+
<exclude-output />
13+
<content url="file://$MODULE_DIR$">
14+
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
15+
</content>
16+
<orderEntry type="inheritedJdk" />
17+
<orderEntry type="sourceFolder" forTests="false" />
18+
</component>
19+
</module>

PullRequestR/android/app/app.iml

+15-14
Original file line numberDiff line numberDiff line change
@@ -49,41 +49,41 @@
4949
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
5050
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
5151
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
52-
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
53-
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
54-
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
55-
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
56-
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
57-
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
58-
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
5952
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
6053
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
6154
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
6255
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
6356
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
6457
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
6558
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
59+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
60+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
61+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
62+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
63+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
64+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
65+
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
6666
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
6767
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
6868
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
6969
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
7070
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
7171
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
7272
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
73-
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
74-
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
75-
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
76-
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
77-
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
78-
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
79-
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
8073
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
8174
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
8275
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
8376
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
8477
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
8578
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
8679
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
80+
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
81+
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
82+
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
83+
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
84+
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
85+
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
86+
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
8787
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
8888
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
8989
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" />
@@ -99,6 +99,7 @@
9999
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-main-apk-res" />
100100
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaPrecompile" />
101101
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
102+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
102103
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifest-checker" />
103104
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
104105
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />

PullRequestR/android/app/src/main/java/com/example/pullrequestr/MainActivity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ protected void onCreate(Bundle savedInstanceState) {
3030
super.onCreate(savedInstanceState);
3131
setContentView(R.layout.activity_main);
3232

33-
String url = "https://YOUR-FUNCTION-URI.azurewebsites.net/api";
33+
String url = "https://githubreceiverjavascript.azurewebsites.net/api";
3434
PullRequestAdapter adapter = new PullRequestAdapter(this, pullRequests);
3535
ListView lvItems = (ListView)findViewById(R.id.lvPullRequestList);
3636

PullRequestR/function-dotnet/.vscode/settings.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
"azureFunctions.projectRuntime": "~2",
33
"azureFunctions.projectLanguage": "C#",
44
"azureFunctions.templateFilter": "Verified",
5-
"azureFunctions.deploySubpath": "function/bin/Release/netstandard2.0/publish",
5+
"azureFunctions.deploySubpath": "bin/Release/netstandard2.0/publish",
66
"azureFunctions.preDeployTask": "publish"
77
}

PullRequestR/function-dotnet/.vscode/tasks.json

+11-5
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
{
22
"version": "2.0.0",
33
"tasks": [
4+
{
5+
"type": "shell",
6+
"label": "echo",
7+
"command": "echo ${workspaceFolder}",
8+
},
49
{
510
"label": "clean",
11+
"dependsOn": "echo",
612
"command": "dotnet clean",
713
"type": "shell",
814
"presentation": {
915
"reveal": "always"
1016
},
1117
"options": {
12-
"cwd": "${workspaceFolder}/function"
18+
"cwd": "${workspaceFolder}"
1319
},
1420
"problemMatcher": "$msCompile"
1521
},
@@ -23,7 +29,7 @@
2329
"isDefault": true
2430
},
2531
"options": {
26-
"cwd": "${workspaceFolder}/function"
32+
"cwd": "${workspaceFolder}"
2733
},
2834
"presentation": {
2935
"reveal": "always"
@@ -38,7 +44,7 @@
3844
"reveal": "always"
3945
},
4046
"options": {
41-
"cwd": "${workspaceFolder}/function"
47+
"cwd": "${workspaceFolder}"
4248
},
4349
"problemMatcher": "$msCompile"
4450
},
@@ -52,7 +58,7 @@
5258
"reveal": "always"
5359
},
5460
"options": {
55-
"cwd": "${workspaceFolder}/function"
61+
"cwd": "${workspaceFolder}"
5662
},
5763
"problemMatcher": "$msCompile"
5864
},
@@ -62,7 +68,7 @@
6268
"type": "shell",
6369
"dependsOn": "build",
6470
"options": {
65-
"cwd": "${workspaceFolder}/function/bin/Debug/netstandard2.0"
71+
"cwd": "${workspaceFolder}/bin/Debug/netstandard2.0"
6672
},
6773
"command": "func host start",
6874
"isBackground": true,

PullRequestR/readme.md

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
## Sample Setup
2+
3+
### Requirements
4+
5+
This setup process assumes you have the following tools installed:
6+
7+
1. [Visual Studio Code](https://code.visualstudio.com)
8+
1. The [Azure Extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-node-azure-pack)
9+
1. [JetBrains IntelliJ Idea](https://www.jetbrains.com/idea/) with the supporting prerequisites for developing Android applications in Java.
10+
1. A [Microsoft Azure](https://azure.microsoft.com/en-us/free/) subscription. You can sign up for a free account [here](https://azure.microsoft.com/en-us/free/).
11+
12+
Note - you could also use Visual Studio 2017+ with the Azure workload installed to do these items, use [Android Studio](https://developer.android.com/studio/) for your client development, or any other setup you prefer.
13+
14+
### Setup Process
15+
16+
1. Create an Azure Resource group for the resources you'll create for the app.
17+
1. Create a new Azure Function in the new resource group.
18+
1. Create a new Azure SignalR Service instance in the same resource group (free tier is fine).
19+
1. Set the `AzureSignalRConnectionString` environment variable in your Azure Function to be the connection string of the Azure SignalR Service you created.
20+
1. Open the project workspace in this directory by typing `code .\project.code-workspace` at the command line.
21+
1. Deploy **either** the `function-dotnet` code if you want a .NET back-end Function, or the `function-javascript` if you'd like to have a Node.js back-end function. Both sets of code operate the same way and will achieve the same result.
22+
1. Change line 33 of `android\app\src\main\java\com.example.pullrequestr\MainActivity.java` from this:
23+
24+
```java
25+
String url = "https://YOUR-FUNCTION-URI.azurewebsites.net/api";
26+
```
27+
28+
to be the URL of your function, like this:
29+
30+
```java
31+
String url = "https://MyGitHubReceiver.azurewebsites.net/api";
32+
```
33+
1. In the GitHub repository you wish to monitor, create a new WebHook and provide the URL of your function as the target URL, with the `pullrequests` suffix. Given the example URL above, the full target URL for your GitHub WebHook would be `https://MyGitHubReceiver.azurewebsites.net/pullrequests`.
34+
1. Change the **Content type** of the request that will be sent to your Azure Function to `application/json`.
35+
1. In the Function App settings blade of the Azure portal, copy the `default` host key and paste it into the **Secret** property for the GitHub WebHook.
36+
1. Make sure to enable all pull request events so new pull request, closes, comments, and other activity will all be sent to your function.
37+
1. Save the WebHook.
38+
1. Run the Android app in the debugger.
39+
1. Branch your repository (or fork it), make a change, and send pull request to your repository.

0 commit comments

Comments
 (0)