2016-11-17 5 views
0

私のプロジェクトでStashのREST APIを使用しています。私の仕事は、特定のタグのタグの詳細を取得することです。 StashのREST APIのドキュメントをチェックした後、私は正しいエンドポイントを見つけました。これはスタッシュのREST APIドキュメントのために、このlinkをご覧ください`:。*`がパスパラメータフィールドの一部として残っているエンドポイントをヒットする方法

/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/tags/{name:.*}

です。

もう1つのエンドポイントがあります
このエンドポイントですべてのタグを取得できます。 StashTagオブジェクトは次のようになります。

{ 
    "id": "refs/tags/v4.0.0", 
    "displayId": "v4.0.0", 
    "latestChangeset": "234dadf41742cfc2a10cadc7c2364438bd8891c5", 
    "latestCommit": "234dadf41742cfc2a10cadc7c2278658bd8891c5" 
    "hash" : "null" 
    } 

私の最初の問題は、私は{name:.*}のためのパラメータとして使用するフィールドを知りません、です。 displayIdまたはIdまたはそれ以外のものである必要があります。

:(コロン)の後に、/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/tags/{name:.*}.(ドット)が続くことは、わかりません。

パスのパラメータに:.の目的を教えてもらえますか、この種のエンドポイントをどのように叩くのですか?完全なエンドポイントの例もいいでしょう。

これまでのところ私は、これらのエンドポイントの仕事の

https://stashtest.abc.com/rest/api/1.0/projects/KARTIK/repos/kartiks-test-repository/tags/v4.0.0 
https://stashtest.abc.com/rest/api/1.0/projects/KARTIK/repos/kartiks-test-repository/tags/refs/tags/v4.0.0 

なしを打っていない試してみました。

何か助けていただければ幸いです。

+0

'。*'は正規表現です。「0以上の任意の文字」 –

+0

ありがとうございます。私はその部分を知っている。私は '{name:。*} 'の代わりに何ができるのか知りたいと思っています。 –

+0

技術的には、試した最初のURLを伝える限り、正しいものでなければなりません。良い説明のためには –

答えて

0

{name:.*}は実際にはフィールドnameは何でもよいと言っています。この部分を貧弱な文書にまで分割してください。 Regexフィールドのように考えてください。それはまさにそれが何であるかということです。ある時点で彼らは^[0-9]のようなものを持っていたのですが、タグ番号だけを使用して軽量タグ機能を使用している人は除外することに気づいたときに変更しました。

タグのバージョンからvを削除し、それが役立つかどうかを確認してください。そうでない場合は、lightweight tagmytagのようなもの)を作成し、そのようにヒットできるかどうかを確認することをおすすめします(つまり、/kartiks-test-repository/tags/mytag)。

しかし、そのドキュメントを見ると、あなたのタグ名にあるvがREST呼び出しを捨てていることがわかります。

+0

+1。しかし、 '1.0.0'だけを使っても動作しませんでした。注釈付きタスクはより多くの情報を格納するため、軽量タグの代わりに注釈付きタスクと関係があると思います。 –

+0

これをヒットするために使用している完全なURLは何ですか? –

+0

私は 'https:// stashtest.abc.com/rest/api/1.0/projects/KARTIK/repos/kartiks-test-repository/tags/1.0.0'と' https://stashtest.abc.com/rest/api/1.0/projects/KARTIK/repos/kartiks-test-repository/tags/myTag' –

関連する問題