kintone의 문제를 해결 "룩업 필드를 다시 조회"

13230 단어 금과cli-kintone
kintone의 곤란을 해결 시리즈.

기사 내용



조회 소스를 업데이트한 후 조회 대상 필드를 업데이트하여 변경사항을 가져옵니다.

REST API를 통한 조회 필드 업데이트를 이해하기 위해 몇 가지 테스트 시나리오를 만들었습니다. 번거로운 분은 첫 분은 날려주세요.

주의점
  • 이 환경에서 실행할 때는 반드시 레코드를 백업한 후 사용해 보십시오.

  • 운영 환경


  • macOS 10.13.6
  • cli-kintone 0.9.4

  • kintone 앱 준비



    테스트용 kintone 앱을 준비합니다.

    영업 지원 팩 도입



    공간을 만들고 앱 스토어에서 영업 지원 팩을 샘플 데이터를 포함하여 만듭니다.

    영업 지원 팩에는 '고객 관리', '안건 관리', '활동 이력'의 세 가지 앱이 있습니다.

    각 앱의 연결은 다음과 같습니다.
  • 고객 관리 → (관련 레코드) → 이슈 관리
  • 이슈 관리 → (룩업) → 고객 관리, (관련 레코드) → 활동 이력
  • 활동 이력→(룩업)→고객 관리,(룩업)→안건 관리

  • 이슈 관리에서 고객 이름 필드는 고객 관리 앱을 조회합니다.
    이것에 근거해 테스트해 갑니다.





    API 토큰



    이슈 관리 API 토큰을 얻습니다.

    테스트 시나리오



    REST API를 이해하고 몇 가지 테스트 시나리오를 만들어 테스트합니다.
  • "이슈 관리"의 고객 이름 필드 얻기 (API Token 인증)
  • 이슈 관리의 고객 이름 필드를 업데이트하여 오류 확인 (API Token 인증)
  • 이슈 관리의 고객 이름 필드 업데이트 (로그인 암호 인증)

  • 1. 「이슈 관리」의 고객명 필드를 취득한다(API Token 인증)



    이슈 관리 앱의 레코드를 쿼리 지정에서 가져옵니다.
    # レコード取得(フィールド指定。クエリ省略)
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名"
    
    # レコードIDの降順(上と同じ。クエリ省略時デフォルトはレコードIDの降順。大きい順)
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "order by \$id desc"
    
    # レコードIDの昇順(小さい順)
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "order by \$id asc"
    
    # フィールドコード顧客名の値が "金都運総研" のレコードを取得
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 = \"金都運総研\" order by \$id asc"
    "$id","顧客名"
    "1","金都運総研"
    "2","金都運総研"
    
    # 上と同じ
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 in (\"金都運総研\") order by \$id asc"
    
    # like検索
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 like \"金都運総研\" order by \$id asc"
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 like \"金都運総\" order by \$id asc"
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 like \"金都運\" order by \$id asc"
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 like \"金都\" order by \$id asc"
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 like \"都運\" order by \$id asc"
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 like \"総研\" order by \$id asc"
    # 0件
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 like \"\" order by \$id asc"
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 like \"\" order by \$id asc"
    
    
    # エラーの例
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 = \"金都運総研\" and 確度 = \"100%\" order by \$id asc"
    AppError: 520 [GAIA_IQ03] 確度フィールドのフィールドタイプには演算子=を使用できません。
    
    # フィールドコード顧客名の値が金都運総研かつ確度が100%のレコードを取得
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 = \"金都運総研\" and 確度 in (\"100%\")  order by \$id asc"
    "$id","顧客名"
    "1","金都運総研"
    

    2. 「이슈 관리」의 고객명 필드를 갱신해 에러를 확인(API Token 인증)



    조회 필드는 API 토큰 인증으로 업데이트할 수 없습니다. API 토큰 인증에서 이슈 관리 고객 이름 조회 필드를 업데이트할 수 없는지 확인합니다.

    API 토큰을 이용함으로써 안전한 운용이 가능합니다.
    # APIトークン認証ではルックアップフィールドが更新できないことを確認します
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 = \"金都運総研\" and 確度 in (\"100%\") order by \$id asc" | cli-kintone --import -a 123 -t API-Token -d Domain
    
    : Start from lines: 1 - 2 => ERROR OCCURRED
    Status:  400 Bad Request
    Message:  APIトークンを使用する場合、ルックアップフィールドを編集できません。
    

    3. 「이슈 관리」의 고객명 필드를 갱신한다(로그인 패스워드 인증)


    # ログインパスワード認証で更新すると成功することを確認します
    cli-kintone -a 123 -t API-Token -d Domain -c "\$id, 顧客名" -q "顧客名 = \"金都運総研\" and 確度 in (\"100%\") order by \$id asc" | cli-kintone --import -a 123 -u 'userid' -p 'password' -d Domain
    Start from lines: 1 - 2 => SUCCESS
    DONE
    

    레코드 ID를 키로 하는 업데이트용 CSV 파일을 준비하여 레코드를 업데이트합니다.



    update.csv
    "$id","顧客名"
    "3","金都運総研"
    
    cli-kintone --import -a 123 -u 'userid' -p 'password' -d Domain -f ./update.csv
    : Start from lines: 1 - 2 => SUCCESS
    : DONE
    

    레코드 상세 화면


    변경 내역


    cybozu.com 공통 관리 감사 로그

    좋은 웹페이지 즐겨찾기