teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードを追加しました

2021/09/29 00:24

投稿

SYSYSYSYSYSY
SYSYSYSYSYSY

スコア8

title CHANGED
File without changes
body CHANGED
@@ -4,31 +4,164 @@
4
4
  "\n"をひとつしかいれていないのに、間に一行改行がはいってしまいます。
5
5
  zendeskのhtmlを確認したところ
6
6
  ```
7
- This is a first line of the ticket
7
+ name,'様'
8
- <br>
8
+ <br>
9
- This is a second line of the ticket
9
+ 'いつもお世話になっております。'
10
+ <br>
11
+ '調査番号:'value2
12
+ <br>
13
+ '調査内容:'
14
+ <br>
15
+ value
16
+ <br>
17
+ 'ろしくお願いいたします。'
18
+ <br>
19
+ assignee
10
20
  ```
11
21
  となっていました。
12
22
 
13
23
  ### 発生している問題・エラーメッセージ
14
24
  欲しい結果
15
25
  ```
26
+ name,'様'
16
- This is a first line of the ticket
27
+ 'いつもお世話になっております。'
17
- This is a second line of the ticket
28
+ '調査番号:'value2
29
+ '調査内容:'
30
+ value
31
+ 'ろしくお願いいたします。'
32
+ assignee
18
33
  ```
19
34
  現在の結果
20
35
  ```
36
+ name,'様'
37
+
21
- This is a first line of the ticket
38
+ 'いつもお世話になっております。'
22
-
39
+
23
- This is a second line of the ticket
40
+ '調査番号:'value2
41
+
42
+ '調査内容:'
43
+
44
+ value
45
+
46
+ 'ろしくお願いいたします。'
47
+
48
+ assignee
24
49
  ```
25
50
 
26
51
  ### 該当のソースコード
27
52
 
28
- ```ここに言語名を入力
53
+ ```GAS
54
+ function testInquiry() {
55
+ //アクティブなスプレッドシートのシートを取得する
56
+ let mySheet = SpreadsheetApp.getActiveSheet();
57
+ //選択されているアクティブな範囲を取得する
58
+ let myActiveRange = mySheet.getActiveRange();
59
+ //アクティブな範囲から最初のRow:行、Column:列を取得する
60
+ let selectedRow = myActiveRange.getRow();
61
+ let selectedColumn = myActiveRange.getColumn();
62
+ Logger.log(selectedColumn)
63
+ Logger.log(selectedRow)
64
+
65
+ if(selectedColumn==11){ //アクティブセルがK列かを判定
66
+ var changedRow = selectedRow;
67
+ }
68
+ Logger.log(changedRow)
69
+
70
+
71
+ var range = mySheet.getRange("D"+changedRow);//お問い合わせ内容
72
+ var range2 = mySheet.getRange("B"+changedRow)//調査番号
73
+ var rangeName = mySheet.getRange("J"+changedRow)//顧客番号
74
+ Logger.log(range.getValue())
75
+ Logger.log(range2.getValue())
76
+ Logger.log(myActiveRange.getValue())
77
+ if (myActiveRange.getValue() == "済"){
78
+ var value = range.getValue()
79
+ var value2 = range2.getValue()
80
+ var name = rangeName.getValue()
81
+
82
+ var assignee = "staff1"
83
+ var assignee_id = "staffid"
84
+
85
+ //文言変えたいばあいはここ
86
+
87
+ var array = [
88
+ name,'様','\n',
89
+ 'いつもお世話になっております。','\n',
90
+ '調査番号:',value2,'\n',
91
+ '調査内容:','\n',
92
+ value, '\n',
93
+ 'ろしくお願いいたします。','\n',
94
+ '\n',
95
+ assignee];
96
+ var values = array.join('').replace(/\r?/g,"");
97
+ }
98
+ else{
99
+ var values = "まだです"
100
+ }
101
+ //var values = value+value2
102
+ Logger.log(values)
103
+ return[values,name,assignee_id,value2]
104
+ }
105
+
106
+
107
+ function onSubmit(e){
108
+ var body = testInquiry()[0]
109
+ var name = testInquiry()[1]
110
+ var assignee_id = testInquiry()[2]
111
+ var value2 = testInquiry()[3]
112
+
113
+ var subject_ = ['Test問合わせシート:',value2,'について'];
114
+ var subject = subject_.join('')
115
+ Logger.log(subject)
116
+ //var body = 'test ticket was successful!';
117
+ //Logger.log(body)
118
+
119
+ Logger.log(body)
120
+ Logger.log(name)
121
+
122
+ //ユーザーIDをハードコーディング
123
+ if (name == "Aさん"){
124
+ var requesterEmai = "A@testtest.com"
125
+ }
126
+ else if (name == "Bさん"){
127
+ var requesterEmai = "B@test.com"
128
+ }
129
+ else if (name == "Cさん"){
130
+ var requesterEmai = "C@test.com"
131
+ }
132
+ Logger.log(requesterEmai)
133
+
134
+ //ユーザー名とメールアドレスの組み合わせはユニークじゃないといけない
135
+ var data = {
136
+ 'ticket': {
137
+ "tags":["japan"],
138
+ "assignee_id":assignee_id,//担当者は固定
139
+ "email_ccs": [
29
- "This is a first line of the ticket","\n","This is a second line of the ticket"
140
+ { "user_email": "teketekete@testtest.com","action": "put"},
141
+ { "user_email": "teketekete@testtest.com","action": "put"},
142
+ { "user_email": "customer2@example.com","action": "put"},
143
+ { "user_email": "customer3@example.com","action": "put"},
144
+ { "user_email": "customer4@example.com","action": "put"},
145
+ { "user_email": "customer5@example.com","action": "put"}
146
+
147
+ ],"requester":{"name":name, "email":requesterEmai},'subject': subject,'comment': {'body': body}}};
148
+ var url = 'https://subdomain.zendesk.com/api/v2/tickets.json';
149
+ var user = 'myemail@myemail/token';
150
+ var pwd = 'mytoken';
151
+ var options = {
152
+ 'method' : 'post',
153
+ 'headers': {
154
+ 'Authorization': 'Basic ' + Utilities.base64Encode(user + ':' + pwd), // Modified
155
+ },
156
+ 'contentType': 'application/json',
157
+ 'payload' : JSON.stringify(data)
158
+ };
159
+ if (body != "まだです"){
160
+ Logger.log(body)
161
+ //UrlFetchApp.fetch(url, options);
162
+ }
163
+ }
30
164
  ```
31
-
32
165
  ### 試したこと
33
166
 
34
167
  ここに問題に対して試したことを記載してください。