embulk-input-zendesk 0.3.0 → 0.3.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 +4 -4
- data/CHANGELOG.md +3 -0
- data/build.gradle +1 -1
- data/classpath/embulk-input-zendesk-0.3.1.jar +0 -0
- data/src/main/java/org/embulk/input/zendesk/ZendeskInputPlugin.java +4 -1
- data/src/main/java/org/embulk/input/zendesk/clients/ZendeskRestClient.java +3 -2
- data/src/main/java/org/embulk/input/zendesk/utils/ZendeskConstants.java +0 -2
- data/src/test/java/org/embulk/input/zendesk/clients/TestZendeskRestClient.java +5 -5
- metadata +3 -3
- data/classpath/embulk-input-zendesk-0.3.0.jar +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad43cfba07a05a5677083290abad4876dfaa652a
|
4
|
+
data.tar.gz: 90dbefa73c45d26e7a499e8c5b1f6618af4512f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bcbdc100b762d7bfa73cddc605d34b64040dcb218e37f31e03b0342dbf4594cbfe5f970d861997dbb85a6b734911fa291db526bbc50a6a933f424ae4924a6ac
|
7
|
+
data.tar.gz: ceef0158dc916745848727ccc3dd58bd8f63d38647475b3f4a0fee75aa95a690b690ba030d99a08fecdd3d14a0a6fa5fa0e2cf2a34ef109d45aba597dd48cdf5
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
## 0.3.1 - 2019-04-09
|
2
|
+
* [fixed] Fix checking 404 by status code when fetching related objects #52 [#52](https://github.com/treasure-data/embulk-input-zendesk/pull/52)
|
3
|
+
|
1
4
|
## 0.3.0 - 2019-04-08
|
2
5
|
* [enhancement] Convert embulk-input-zendesk to Java #50 [#50](https://github.com/treasure-data/embulk-input-zendesk/pull/50)
|
3
6
|
|
data/build.gradle
CHANGED
Binary file
|
@@ -8,6 +8,7 @@ import com.google.common.annotations.VisibleForTesting;
|
|
8
8
|
import com.google.common.base.Throwables;
|
9
9
|
import com.google.common.collect.ImmutableList;
|
10
10
|
|
11
|
+
import org.apache.http.HttpStatus;
|
11
12
|
import org.embulk.config.Config;
|
12
13
|
import org.embulk.config.ConfigDefault;
|
13
14
|
import org.embulk.config.ConfigDiff;
|
@@ -19,6 +20,7 @@ import org.embulk.config.TaskSource;
|
|
19
20
|
import org.embulk.exec.GuessExecutor;
|
20
21
|
import org.embulk.input.zendesk.models.AuthenticationMethod;
|
21
22
|
import org.embulk.input.zendesk.models.Target;
|
23
|
+
import org.embulk.input.zendesk.models.ZendeskException;
|
22
24
|
import org.embulk.input.zendesk.services.ZendeskSupportAPIService;
|
23
25
|
import org.embulk.input.zendesk.utils.ZendeskConstants;
|
24
26
|
import org.embulk.input.zendesk.utils.ZendeskDateUtils;
|
@@ -434,11 +436,12 @@ public class ZendeskInputPlugin implements InputPlugin
|
|
434
436
|
}
|
435
437
|
catch (final ConfigException e) {
|
436
438
|
// Sometimes we get 404 when having invalid endpoint, so ignore when we get 404 InvalidEndpoint
|
437
|
-
if (!e.
|
439
|
+
if (!(e.getCause() instanceof ZendeskException && ((ZendeskException) e.getCause()).getStatusCode() == HttpStatus.SC_NOT_FOUND)) {
|
438
440
|
throw e;
|
439
441
|
}
|
440
442
|
}
|
441
443
|
});
|
444
|
+
|
442
445
|
ZendeskUtils.addRecord(jsonNode, schema, pageBuilder);
|
443
446
|
}
|
444
447
|
|
@@ -117,7 +117,8 @@ public class ZendeskRestClient
|
|
117
117
|
}
|
118
118
|
catch (RetryExecutor.RetryGiveupException | InterruptedException e) {
|
119
119
|
if (e instanceof RetryExecutor.RetryGiveupException && e.getCause() != null && e.getCause() instanceof ZendeskException) {
|
120
|
-
throw new ConfigException(e.getCause().getMessage()
|
120
|
+
throw new ConfigException("Status: '" + ((ZendeskException) (e.getCause())).getStatusCode() + "', error message: '" + e.getCause().getMessage() + "'",
|
121
|
+
e.getCause());
|
121
122
|
}
|
122
123
|
throw new ConfigException(e);
|
123
124
|
}
|
@@ -177,7 +178,7 @@ public class ZendeskRestClient
|
|
177
178
|
//That means "No records from start_time". We can recognize it same as 200.
|
178
179
|
return false;
|
179
180
|
}
|
180
|
-
throw new ConfigException("Status: '" + status + "', error message '" + message + "'");
|
181
|
+
throw new ConfigException("Status: '" + status + "', error message: '" + message + "'");
|
181
182
|
}
|
182
183
|
|
183
184
|
if (status == ZendeskConstants.HttpStatus.TOO_MANY_REQUEST || status == HttpStatus.SC_INTERNAL_SERVER_ERROR
|
@@ -39,10 +39,8 @@ public class ZendeskConstants
|
|
39
39
|
public static final String ISO_TIMESTAMP_FORMAT = "yyyy-MM-dd'T'HH:mm:ssXXX";
|
40
40
|
public static final String ISO_INSTANT = "yyyy-MM-dd'T'HH:mm:ss'Z'";
|
41
41
|
public static final String TOO_RECENT_START_TIME = "Too recent start_time.";
|
42
|
-
public static final String INVALID_END_POINT_RESPONSE = "\"error\":\"InvalidEndpoint\"";
|
43
42
|
public static final int RECORDS_SIZE_PER_PAGE = 100;
|
44
43
|
public static final int MAXIMUM_RECORDS_INCREMENTAL = 1000;
|
45
|
-
public static final int TOO_MANY_REQUEST = 429;
|
46
44
|
|
47
45
|
// 1 MB
|
48
46
|
public static final int GUESS_BUFFER_SIZE = 1024 * 1024;
|
@@ -90,7 +90,7 @@ public class TestZendeskRestClient
|
|
90
90
|
@Test
|
91
91
|
public void doGetRetryFail429WithoutRetryAfter()
|
92
92
|
{
|
93
|
-
String expectedMessage = "Number of allowed incremental export API requests per minute exceeded";
|
93
|
+
String expectedMessage = "Status: '429', error message: 'Number of allowed incremental export API requests per minute exceeded'";
|
94
94
|
int expectedRetryTime = 3;
|
95
95
|
testExceptionMessageForDoGet("doGet429", expectedMessage, expectedRetryTime);
|
96
96
|
}
|
@@ -98,7 +98,7 @@ public class TestZendeskRestClient
|
|
98
98
|
@Test
|
99
99
|
public void doGetRetryFail429WithRetryAfter()
|
100
100
|
{
|
101
|
-
String expectedMessage = "Number of allowed incremental export API requests per minute exceeded";
|
101
|
+
String expectedMessage = "Status: '429', error message: 'Number of allowed incremental export API requests per minute exceeded'";
|
102
102
|
int expectedRetryTime = 3;
|
103
103
|
|
104
104
|
when(response.containsHeader("x-rate-limit")).thenReturn(true);
|
@@ -123,7 +123,7 @@ public class TestZendeskRestClient
|
|
123
123
|
@Test
|
124
124
|
public void doGetRetry422FailBecauseNotContainTooRecentStartTime()
|
125
125
|
{
|
126
|
-
String expectedMessage = "Status: '422', error message 'dummy text'";
|
126
|
+
String expectedMessage = "Status: '422', error message: 'dummy text'";
|
127
127
|
int expectedRetryTime = 1;
|
128
128
|
testExceptionMessageForDoGet("doGet422NotContainTooRecentStartTime", expectedMessage, expectedRetryTime);
|
129
129
|
}
|
@@ -131,7 +131,7 @@ public class TestZendeskRestClient
|
|
131
131
|
@Test
|
132
132
|
public void doGetNotRetry422BecauseContainTooRecentStartTime()
|
133
133
|
{
|
134
|
-
String expectedMessage = "Status: '422', error message 'dummy text'";
|
134
|
+
String expectedMessage = "Status: '422', error message: 'dummy text'";
|
135
135
|
int expectedRetryTime = 1;
|
136
136
|
testExceptionMessageForDoGet("doGet422ContainTooRecentStartTime", expectedMessage, expectedRetryTime);
|
137
137
|
}
|
@@ -158,7 +158,7 @@ public class TestZendeskRestClient
|
|
158
158
|
public void doGetRetry404()
|
159
159
|
{
|
160
160
|
setup("doGet404");
|
161
|
-
String expectedMessage = "dummy text";
|
161
|
+
String expectedMessage = "Status: '404', error message: 'dummy text'";
|
162
162
|
int expectedRetryTime = 1;
|
163
163
|
try {
|
164
164
|
zendeskRestClient.doGet("any", task, false);
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embulk-input-zendesk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- hieu.duong
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,7 +96,7 @@ files:
|
|
96
96
|
- src/test/resources/data/util.json
|
97
97
|
- src/test/resources/data/util_page.json
|
98
98
|
- classpath/commons-logging-1.2.jar
|
99
|
-
- classpath/embulk-input-zendesk-0.3.
|
99
|
+
- classpath/embulk-input-zendesk-0.3.1.jar
|
100
100
|
- classpath/httpcore-4.4.10.jar
|
101
101
|
- classpath/httpclient-4.5.6.jar
|
102
102
|
- classpath/commons-codec-1.10.jar
|
Binary file
|