2016-04-23 17 views
0

ちょうどCachetステータスページを設定しましたが、私はコンポーネントの更新をAPI経由でプッシュするのに苦労しています。JSONデータをcachet.ioに操作する

パートナーサイトから既存のJSONフィードを取得し、これを使用して自分のページのステータスを更新したいと考えています。ここで

は私がプルする必要があるJSONデータのサンプルです:

{ 
    "state":"online", 
    "message":"", 
    "description":"", 
    "append":"false", 
    "status":true, 
    "time":"Sat 23 Apr 2016 10:51:23 AM UTC +0000" 
} 

と以下の名声はそれのAPIで使用する形式です。

{ 
    "data": { 
     "id": 1, 
     "name": "Component Name", 
     "description": "Description", 
     "link": "", 
     "status": 1, 
     "order": 0, 
     "group_id": 0, 
     "created_at": "2015-08-01 12:00:00", 
     "updated_at": "2015-08-01 12:00:00", 
     "deleted_at": null, 
     "status_name": "Operational" 
    } 
} 

は前JSONのものを扱っ決して、私は、私は元のデータを取得し、次の操作を実行するためにすべてのX分を実行できるスクリプトが必要推測:

  • から「状態を」変換します元のフィードをCachetに送ります。
  • "updated_at"時間を、スクリプトが最後に実行された時間で更新します。

すべてのヘルプやチュートリアルは本当に感謝しています。

ありがとうございます!

答えて

0

私はCachetの主な開発者です。試していただきありがとうございます!

Component statusを更新するだけです。 Cachetはあなたのためにupdated_atタイムスタンプを世話します。

私はあなたのためのスクリプトを記述することができないんだけど、あなたはこのような何かをしたい:

// This will be a lookup of the states from the service you're watching to Cachet. 
serviceStates = [ 
    'online' => 1, 
    'issues' => 2, 
    'offline' => 4, 
] 

// The id of the component we're updating 
componentId = 1 

// The state that is coming back from the service you're watching 
state = 'online' 

request({url: 'demo.cachethq.io/api/v1/components/'+componentId, data: { status: serviceStates[state] }}) 

擬コードが、あなたはそれから作業することができるはずです。

+0

こんにちはジェームズ、あなたのコードを使用していただきありがとうございます。私は外部サービスからデータを取得し、それをカシェのステータスIDに変換することができました。まだこれをCachetにプッシュする方法を理解できません –

+0

あなたはどの言語を使用していますか? Cachetエンドポイントに 'PUT'要求を行います。 – James

+0

こんにちはJamesさん、私はPHPで働いています –