Go 언어로 kintone 앱의 필드 정보를 CSV 출력하는 명령 줄 도구를 만든 이야기

4310 단어 5Go 언어금과
Go 언어의 자습의 마무리에, yaclik 라고 하는 작은 커멘드 라인 툴을 만들었으므로 그 소개입니다.

kintone 앱에서 레코드를 가져오고 등록하는 등 Go 언어로 작성된 명령줄 도구에 cli-kintone이 있습니다.

이번에 시도한 것은 kintone 앱의 필드 정보을 API로 가져와 CSV 형식으로 터미널에 표시하는 것뿐입니다.
그 이상은 아무것도 할 수 없습니다만 , kintone 앱의 필드 일람이 문서로 필요하게 되었을 때에는 사용할 수 있을까 생각합니다.

출력할 수 있는 정보는 아래의 3개뿐입니다.
  • 필드 코드
  • 필드 이름
  • 필드 타입

  • 일단 테이블 내의 필드에도 대응하고 있습니다만, 그 때의 필드 코드에 접두사로서
    ~SUBTABLE~<フィールドコード> 와 같이 표시합니다.

    필요한 경우 CSV 파일로 출력한 후 편집합니다.

    파일은 아래에 있습니다.

    빌드한 바이너리 파일도 릴리스에 업하고 있습니다만, Mac판만입니다.

    Windows에서 시도하고 싶은 분은 소스에서 빌드해 주시면 좋겠습니다.

    사용법



    Mac의 경우입니다.

    아래에서 바이너리 파일을 다운로드합니다.
    htps : // 기주 b. 코 m / sy250 / 야 c ぃ k / ぇ 아세 s

    적절한 디렉토리에서 실행합니다../yaclik -h 로 명령행 인수를 표시합니다.
    Usage of ./yaclik:
      -a string
            App ID (default "0")
      -d string
            Domain name
      -n string
            User login name
      -o string
            Output format (default "csv")
      -p string
            User login password
    
    -o json 에서 JSON 형식으로 출력합니다.

    출력 샘플



    kintone 고객 지원 팩에 있는 문의 관리 앱 정보를 출력하고 있습니다.
    $ yaclik -a <APP_ID> -d <SUB_DOMAIN> -n <USER_ID> -p <USER_PASSWORD>
    field_code,label,type
    レコード番号,レコード番号,RECORD_NUMBER
    更新日時,更新日時,UPDATED_TIME
    カテゴリー,カテゴリー,CATEGORY
    対応詳細,対応詳細,SUBTABLE
    ~SUBTABLE~対応内容,対応内容,MULTI_LINE_TEXT
    ~SUBTABLE~添付ファイル,添付ファイル,FILE
    ~SUBTABLE~対応日時,対応日時,DATETIME
    電話番号,電話番号,LINK
    作成日時,作成日時,CREATED_TIME
    ご担当者名,ご担当者名,SINGLE_LINE_TEXT
    詳細,詳細,MULTI_LINE_TEXT
    更新者,更新者,MODIFIER
    作成者,作成者,CREATOR
    問い合わせ種別,問合せ種別,RADIO_BUTTON
    ステータス,ステータス,STATUS
    対応状況,対応状況,DROP_DOWN
    受付日時,受付日時,DATETIME
    対応担当者,対応担当者,USER_SELECT
    期限,期限,DATE
    作業者,作業者,STATUS_ASSIGNEE
    ルックアップ,会社名,SINGLE_LINE_TEXT
    

    조금 편리한 사용법



    Mac에서는 인수를 다른 쉘 스크립트로 해 주거나 작성하는 파일명도 파일에 일람으로서 등록하면 편리하다고 생각합니다.

    출력하는 파일명의 일람으로서 이하를 준비
    1-顧客台帳.csv
    2-問い合わせ管理.csv
    

    도메인 및 로그인 정보로 다음을 준비합니다.

    env.sh
    export DOMAIN=<サブドメイン>
    export APP_ID=<ログインID>
    export PASSWORD=<パスワード>
    

    bat.bash
    for file in `cat list`
    do
      echo "$file"
      [[ ${file} =~ ^([0-9]+)-(.*)$ ]];
      app=${BASH_REMATCH[1]}
      ./yaclik -a ${app} -d $DOMAIN -n $APP_ID -p $PASSWORD | nkf -Ws > ${file}
    done
    

    좋은 웹페이지 즐겨찾기