Fisheye REST API

This is the reference section of the Fisheye REST API.

For information about Fisheye Plugin Development, visit the Development Hub.

This documentation was automatically generated from the WADL.

REST Client Examples

Please have a look at python examples that demonstrate the capabilities of Fisheye & Crucible REST API: bitbucket.org/atlassian/fecru-rest-examples/src

Paged APIs

Fisheye uses paging to conserve server resources and limit response size for resources that return potentially large collections of items. A request to a paged API will result in a values array wrapped in a JSON object with some paging metadata, like this:


                    {
                    "start": 3,
                    "size": 3,
                    "limit": 100,
                    "lastPage": true,
                    "values": [
                        { /* result 0 */ },
                        { /* result 1 */ },
                        { /* result 2 */ }
                    ]
                    }
                

Clients can use the limit and start query parameters to retrieve the desired number of results.

The limit parameter indicates how many results to return per page. Most APIs default to returning 100 if the limit is left unspecified. A resource can have a hard limit. It's always best practice to check the limit attribute on the response to see what limit has been applied. The request to get a page with desired size should look like this:


                    http://host:port/context/rest/api/api-version/path/to/resource?limit={desired size of page}
                

For example:


                    http://fecru.atlassian.com/rest/api/1.0/rest-service-fecru/users?limit=50
                

The start parameter indicates which item should be used as the first item in the page of results. All paged responses contain a lastPage attribute indicating whether another page of items exists. If a paged response has a property lastPage set to false, the next page start should be calculated by adding current page start and size. The request to get a subsequent page should look like this:


                    http://host:port/context/path/to/resource?start={start of last page}+{size of last page}&limit={desired size of page}
                

For example:


                    http://fecru.atlassian.com/rest/api/1.0/rest-service-fecru/users?size=50&limit=50
                

Resources

/rest-service-fe/commit-graph-v1

Rest service for Commit Graph data.

/rest-service-fe/commit-graph-v1/slice/{repository:[^/]+}?branch=<value>&id=<value>&direction=<value>&size=<value>

resource-wide template parameters
parameter value description

repository

string

the key of the repository to search

Methods

GET

finds slice data the query

request query parameters
parameter value description

branch

string

the set of branches to search. If not specified, will search all branches

id

string

the id of the changeset which we are

direction

string

Default: around

the direction to traverse. May be "before", "after" or "around"

size

int

Default: 50

the number of changesets to return in the slice

available response representations:

  • 200 - application/xml (revisionGraphSliceData) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <sliceData>
        <revisions>
            <revision repositoryName="repo1" position="position" displayId="dislayId1" date="2022-06-20T09:37:15.370Z" csid="csid1" branch="branch3" author="author1">
                <branches>
                    <branch>branch3</branch>
                    <branch>branch2</branch>
                    <branch>branch1</branch>
                </branches>
                <children>
                    <child>child1</child>
                </children>
                <comment>comment1</comment>
                <fileRevisionKey rev="0001" path="/path/to/1"/>
                <p4JobIds>
                    <p4JobId>p4job1</p4JobId>
                    <p4JobId>p4job2</p4JobId>
                </p4JobIds>
                <parents>
                    <parent>parent1</parent>
                </parents>
                <tags>
                    <tag>tag1</tag>
                    <tag>tag2</tag>
                    <tag>tag3</tag>
                </tags>
            </revision>
        </revisions>
        <sparseRevisions/>
    </sliceData>
    

  • 200 - application/json (revisionGraphSliceData) [expand]

    Example
    {
      "revisions" : [ {
        "repositoryName" : "repo1",
        "csid" : "csid1",
        "displayId" : "dislayId1",
        "position" : "position",
        "parents" : [ "parent1" ],
        "children" : [ "child1" ],
        "date" : 1655717835370,
        "author" : "author1",
        "branches" : [ "branch3", "branch2", "branch1" ],
        "tags" : [ "tag1", "tag2", "tag3" ],
        "comment" : "comment1",
        "p4JobIds" : [ "p4job1", "p4job2" ],
        "branch" : "branch3",
        "fileRevisionKey" : [ {
          "path" : "/path/to/1",
          "rev" : "0001"
        } ]
      } ],
      "sparseRevisions" : [ ]
    }

/rest-service-fe/commit-graph-v1/details/{repository:[^/]+}

resource-wide template parameters
parameter value description

repository

string

the key of the repository

Methods

POST

Retrieves detailed information about a set of changesets in a repository, designed to be used with the FishEye commit graph

acceptable request representations:

  • application/json [expand]

    no data

available response representations:

  • 200 - application/xml (detailedChangesets) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <detailedChangesets>
        <changesets>
            <changeset>
                <comment>merge</comment>
                <csid>csid1</csid>
                <date>30 Jul 12</date>
                <user>
                    <avatarUrl>http://to/avatar</avatarUrl>
                    <displayName>Matt Smith</displayName>
                    <userName>matt</userName>
                </user>
            </changeset>
            <changeset>
                <comment>added functionality</comment>
                <csid>csid2</csid>
                <date>30 Jul 12</date>
                <user>
                    <avatarUrl>http://to/avatar</avatarUrl>
                    <displayName>Matt Smith</displayName>
                    <userName>matt</userName>
                </user>
            </changeset>
        </changesets>
    </detailedChangesets>
    

  • 200 - application/json (detailedChangesets) [expand]

    Example
    {
      "changesets" : [ {
        "csid" : "csid1",
        "comment" : "merge",
        "date" : "30 Jul 12",
        "user" : {
          "userName" : "matt",
          "displayName" : "Matt Smith",
          "avatarUrl" : "http://to/avatar"
        }
      }, {
        "csid" : "csid2",
        "comment" : "added functionality",
        "date" : "30 Jul 12",
        "user" : {
          "userName" : "matt",
          "displayName" : "Matt Smith",
          "avatarUrl" : "http://to/avatar"
        }
      } ]
    }

/rest-service-fe/repositories-v1

Provides an API to list information about the repositories.

Methods

GET

List all the repositories.

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <repositoryList>
        <repository repositoryState="RUNNING" name="svn-repo" finishedFullSlurp="true" enabled="true" displayName="svn-repo-renamed"/>
        <repository repositoryState="STOPPED" name="hg-repo" finishedFullSlurp="true" enabled="false" displayName="hg-repo"/>
    </repositoryList>
    

    Sample list of repositories registered to a FishEye instance.

  • 200 - application/json [expand]

    Example
    {
      "repository" : [ {
        "name" : "svn-repo",
        "displayName" : "svn-repo-renamed",
        "enabled" : true,
        "finishedFullSlurp" : true,
        "url" : "com.sample.project",
        "path" : "project",
        "repositoryState" : "RUNNING"
      }, {
        "name" : "hg-repo",
        "displayName" : "hg-repo",
        "enabled" : false,
        "finishedFullSlurp" : true,
        "location" : "/home/user/project/hg",
        "repositoryState" : "STOPPED"
      } ]
    }

    Sample list of repositories registered to a FishEye instance.

/rest-service-fe/repositories-v1/{repository}

resource-wide template parameters
parameter value description

repository

string

the key of the repository

Methods

GET

Get the information about a repository.

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <repository repositoryState="RUNNING" name="svn-repo" finishedFullSlurp="true" enabled="true" displayName="svn-repo-renamed">
        <path>project</path>
        <url>com.sample.project</url>
    </repository>
    

    Sample information about a repository.

  • 200 - application/json [expand]

    Example
    {
      "name" : "svn-repo",
      "displayName" : "svn-repo-renamed",
      "enabled" : true,
      "finishedFullSlurp" : true,
      "url" : "com.sample.project",
      "path" : "project",
      "repositoryState" : "RUNNING"
    }

    Sample information about a repository.

/rest-service-fe/changeset-v1

Provides an API to get a list of changesets from a repository.

/rest-service-fe/changeset-v1/listChangesets?rep=<value>&path=<value>&committer=<value>&comment=<value>&p4JobFixed=<value>&expand=<value>&beforeCsid=<value>

Methods

GET

List of changesets from a repository.

request query parameters
parameter value description

rep

string

the key of the repository

path

string

repository path

committer

string

ID of the committer

comment

string

comment to match

p4JobFixed

string

Perforce option to select the changesets marked as fixing

expand

string

expand query parameter to specify the maximum number of results

beforeCsid

string

parent of the changesets

available response representations:

  • 200 - application/xml (results) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <results>
        <changesets>
            <changeset>
                <repositoryName>repo1</repositoryName>
                <csid>csid1</csid>
                <date>2022-06-20T09:37:15.270Z</date>
                <author>author1</author>
                <branch>branch1</branch>
                <comment>merge</comment>
                <p4JobIds>p4job1</p4JobIds>
                <p4JobIds>p4job2</p4JobIds>
                <revisions size="1">
                    <revision totalLines="10" fileRevisionState="ADDED" rev="rev123456" path="/path/to/file.txt" linesRemoved="2" linesAdded="2" date="2022-06-20T09:37:15.270Z" csid="csid" contentLink="contentLink" author="author1">
                        <ancestor>ancestor1</ancestor>
                        <ancestor>ancestor2</ancestor>
                        <comment>merged</comment>
                    </revision>
                </revisions>
                <reviews size="1">
                    <review>
                        <metricsVersion>0</metricsVersion>
                        <permaId/>
                    </review>
                </reviews>
            </changeset>
        </changesets>
    </results>
    

    list of changesets matching the criteria

  • 200 - application/json (results) [expand]

    Example
    {
      "changesets" : {
        "changeset" : [ {
          "repositoryName" : "repo1",
          "csid" : "csid1",
          "date" : 1655717835270,
          "author" : "author1",
          "branch" : "branch1",
          "comment" : "merge",
          "p4JobIds" : [ "p4job1", "p4job2" ],
          "revisions" : {
            "size" : 1,
            "revision" : [ {
              "path" : "/path/to/file.txt",
              "rev" : "rev123456",
              "author" : "author1",
              "date" : 1655717835270,
              "totalLines" : 10,
              "linesAdded" : 2,
              "linesRemoved" : 2,
              "csid" : "csid",
              "comment" : "merged",
              "contentLink" : "contentLink",
              "ancestor" : [ "ancestor1", "ancestor2" ],
              "fileRevisionState" : "ADDED"
            } ]
          },
          "reviews" : {
            "size" : 1,
            "review" : [ {
              "permaId" : { },
              "metricsVersion" : 0
            } ]
          }
        } ]
      }
    }

    list of changesets matching the criteria

/rest-service-fe/search-v1

Provides an API to execute FishEye queries against a repository.

/rest-service-fe/search-v1/crossRepositoryQuery?query=<value>&repository=<value>&expand=<value>

Methods

GET

Execute a query across repositories. By default, this will search all repositories.

request query parameters
parameter value description

query

string

text to search for in commit message and p4 jobId. Must not be empty.

repository

string

restrict search to only these repositories (by their keys)

expand

string

expand query parameter to specify the maximum number of results. Format is changesets[n:m].revisions[n:m],reviews the default number of changesets returned is 30, the maximum returned is 100

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <results>
        <changesets>
            <changeset>
                <repositoryName>repo1</repositoryName>
                <csid>csid1</csid>
                <date>2022-06-20T09:37:15.270Z</date>
                <author>author1</author>
                <branch>branch1</branch>
                <comment>merge</comment>
                <p4JobIds>p4job1</p4JobIds>
                <p4JobIds>p4job2</p4JobIds>
                <revisions size="1">
                    <revision totalLines="10" fileRevisionState="ADDED" rev="rev123456" path="/path/to/file.txt" linesRemoved="2" linesAdded="2" date="2022-06-20T09:37:15.270Z" csid="csid" contentLink="contentLink" author="author1">
                        <ancestor>ancestor1</ancestor>
                        <ancestor>ancestor2</ancestor>
                        <comment>merged</comment>
                    </revision>
                </revisions>
                <reviews size="1">
                    <review>
                        <metricsVersion>0</metricsVersion>
                        <permaId/>
                    </review>
                </reviews>
            </changeset>
        </changesets>
    </results>
    

    Sample result for a FishEye cross repository query.

  • 200 - application/json [expand]

    Example
    {
      "changesets" : {
        "changeset" : [ {
          "repositoryName" : "repo1",
          "csid" : "csid1",
          "date" : 1655717835270,
          "author" : "author1",
          "branch" : "branch1",
          "comment" : "merge",
          "p4JobIds" : [ "p4job1", "p4job2" ],
          "revisions" : {
            "size" : 1,
            "revision" : [ {
              "path" : "/path/to/file.txt",
              "rev" : "rev123456",
              "author" : "author1",
              "date" : 1655717835270,
              "totalLines" : 10,
              "linesAdded" : 2,
              "linesRemoved" : 2,
              "csid" : "csid",
              "comment" : "merged",
              "contentLink" : "contentLink",
              "ancestor" : [ "ancestor1", "ancestor2" ],
              "fileRevisionState" : "ADDED"
            } ]
          },
          "reviews" : {
            "size" : 1,
            "review" : [ {
              "permaId" : { },
              "metricsVersion" : 0
            } ]
          }
        } ]
      }
    }

    Sample result for a FishEye cross repository query.

/rest-service-fe/search-v1/queryAsRows/{repository}?query=<value>&maxReturn=<value>

resource-wide template parameters
parameter value description

repository

string

the key of the repository

Methods

GET

Execute a FishEye query (that contains a "return" statement) against a specific repository.

Note: the maximum number of results will be limited to maxReturn or 3000, whichever is the smallest number.

request query parameters
parameter value description

query

string

FishEye query to execute (which must contain a "return" statement)

maxReturn

string

maximum number of results (which can be left unspecified, but in that case, the maximum number of results will set to 3000 results)

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <tabularQueryResult>
        <row>
            <item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">test/readme.txt</item>
            <item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1.1</item>
            <item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">peter</item>
        </row>
        <row>
            <item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">test/readme.txt</item>
            <item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1.2</item>
            <item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">peter</item>
        </row>
        <headings>
            <heading>path</heading>
            <heading>revision</heading>
            <heading>author</heading>
        </headings>
    </tabularQueryResult>
    

    Sample result for a FishEye query such as select revisions from dir /test return path, revision, author.

  • 200 - application/json [expand]

    Example
    {
      "headings" : [ "path", "revision", "author" ],
      "row" : [ {
        "item" : [ "test/readme.txt", "1.1", "peter" ]
      }, {
        "item" : [ "test/readme.txt", "1.2", "peter" ]
      } ]
    }

    Sample result for a FishEye query such as select revisions from dir /test return path, revision, author.

/rest-service-fe/search-v1/reviewsForChangeset/{repository}

resource-wide template parameters
parameter value description

repository

string

the key of the repository

Methods

POST

Retrieve a list of reviews for a changeset in a given repository.

acceptable request representations:

request form value parameters
parameter value description

cs

string

the id of the changeset

  • application/x-www-form-urlencoded [expand]

available response representations:

  • 200 - application/xml (reviewsForChangeset) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <reviewsForChangeset>
        <reviews>
            <review>
                <allowReviewersToJoin>true</allowReviewersToJoin>
                <author>
                    <avatarUrl></avatarUrl>
                    <displayName>A. D. Ministrator</displayName>
                    <userName>admin</userName>
                </author>
                <createDate>2022-06-20T09:37:15.263+0000</createDate>
                <creator>
                    <avatarUrl></avatarUrl>
                    <displayName>A. D. Ministrator</displayName>
                    <userName>admin</userName>
                </creator>
                <description>Description</description>
                <jiraIssueKey>SAMPLE-1</jiraIssueKey>
                <linkedIssues>SAMPLE-1</linkedIssues>
                <linkedIssues>SAMPLE-2</linkedIssues>
                <linkedIssues>SAMPLE-3</linkedIssues>
                <metricsVersion>1</metricsVersion>
                <moderator>
                    <avatarUrl></avatarUrl>
                    <displayName>A. D. Ministrator</displayName>
                    <userName>admin</userName>
                </moderator>
                <name>Sample Review</name>
                <permaId>
                    <id>CR-SAMPLE-1</id>
                </permaId>
                <projectKey>CR-SAMPLE</projectKey>
                <state>Review</state>
                <summary>Review summary</summary>
                <type>REVIEW</type>
            </review>
        </reviews>
        <changesetId>aa26d45eea2d259678b801c135cde82fe6518473</changesetId>
    </reviewsForChangeset>
    

  • 200 - application/json (reviewsForChangeset) [expand]

    Example
    {
      "changesetId" : "aa26d45eea2d259678b801c135cde82fe6518473",
      "reviews" : [ {
        "projectKey" : "CR-SAMPLE",
        "name" : "Sample Review",
        "description" : "Description",
        "author" : {
          "userName" : "admin",
          "displayName" : "A. D. Ministrator",
          "avatarUrl" : ""
        },
        "moderator" : {
          "userName" : "admin",
          "displayName" : "A. D. Ministrator",
          "avatarUrl" : ""
        },
        "creator" : {
          "userName" : "admin",
          "displayName" : "A. D. Ministrator",
          "avatarUrl" : ""
        },
        "permaId" : {
          "id" : "CR-SAMPLE-1"
        },
        "summary" : "Review summary",
        "state" : "Review",
        "type" : "REVIEW",
        "allowReviewersToJoin" : true,
        "metricsVersion" : 1,
        "createDate" : "2022-06-20T09:37:15.263+0000",
        "linkedIssues" : [ "SAMPLE-1", "SAMPLE-2", "SAMPLE-3" ],
        "jiraIssueKey" : "SAMPLE-1"
      } ]
    }

/rest-service-fe/search-v1/reviewsForChangesets/{repository}

resource-wide template parameters
parameter value description

repository

string

the key of the repository

Methods

POST

Retrieve a list of reviews for each given changeset in a given repository.

acceptable request representations:

request form value parameters
parameter value description

cs

string

a list of changeset ids

  • application/x-www-form-urlencoded [expand]

available response representations:

  • 200 - application/xml (reviewsForChangesets) [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <reviewsForChangesets>
        <changesets>
            <changeset>
                <reviews>
                    <review>
                        <allowReviewersToJoin>true</allowReviewersToJoin>
                        <author>
                            <avatarUrl></avatarUrl>
                            <displayName>A. D. Ministrator</displayName>
                            <userName>admin</userName>
                        </author>
                        <createDate>2022-06-20T09:37:15.263+0000</createDate>
                        <creator>
                            <avatarUrl></avatarUrl>
                            <displayName>A. D. Ministrator</displayName>
                            <userName>admin</userName>
                        </creator>
                        <description>Description</description>
                        <jiraIssueKey>SAMPLE-1</jiraIssueKey>
                        <linkedIssues>SAMPLE-1</linkedIssues>
                        <linkedIssues>SAMPLE-2</linkedIssues>
                        <linkedIssues>SAMPLE-3</linkedIssues>
                        <metricsVersion>1</metricsVersion>
                        <moderator>
                            <avatarUrl></avatarUrl>
                            <displayName>A. D. Ministrator</displayName>
                            <userName>admin</userName>
                        </moderator>
                        <name>Sample Review</name>
                        <permaId>
                            <id>CR-SAMPLE-1</id>
                        </permaId>
                        <projectKey>CR-SAMPLE</projectKey>
                        <state>Review</state>
                        <summary>Review summary</summary>
                        <type>REVIEW</type>
                    </review>
                </reviews>
                <changesetId>aa26d45eea2d259678b801c135cde82fe6518473</changesetId>
            </changeset>
            <changeset>
                <reviews>
                    <review>
                        <allowReviewersToJoin>true</allowReviewersToJoin>
                        <author>
                            <avatarUrl></avatarUrl>
                            <displayName>A. D. Ministrator</displayName>
                            <userName>admin</userName>
                        </author>
                        <createDate>2022-06-20T09:37:15.263+0000</createDate>
                        <creator>
                            <avatarUrl></avatarUrl>
                            <displayName>A. D. Ministrator</displayName>
                            <userName>admin</userName>
                        </creator>
                        <description>Description</description>
                        <jiraIssueKey>SAMPLE-2</jiraIssueKey>
                        <linkedIssues>SAMPLE-2</linkedIssues>
                        <linkedIssues>SAMPLE-3</linkedIssues>
                        <metricsVersion>1</metricsVersion>
                        <moderator>
                            <avatarUrl></avatarUrl>
                            <displayName>A. D. Ministrator</displayName>
                            <userName>admin</userName>
                        </moderator>
                        <name>Another Review</name>
                        <permaId>
                            <id>CR-SAMPLE-2</id>
                        </permaId>
                        <projectKey>CR-SAMPLE</projectKey>
                        <state>Review</state>
                        <summary>Review summary</summary>
                        <type>REVIEW</type>
                    </review>
                </reviews>
                <changesetId>16f1b72aed7e1ff0072a2b36aa579e4342a223e0</changesetId>
            </changeset>
        </changesets>
    </reviewsForChangesets>
    

  • 200 - application/json (reviewsForChangesets) [expand]

    Example
    {
      "changesets" : [ {
        "changesetId" : "aa26d45eea2d259678b801c135cde82fe6518473",
        "reviews" : [ {
          "projectKey" : "CR-SAMPLE",
          "name" : "Sample Review",
          "description" : "Description",
          "author" : {
            "userName" : "admin",
            "displayName" : "A. D. Ministrator",
            "avatarUrl" : ""
          },
          "moderator" : {
            "userName" : "admin",
            "displayName" : "A. D. Ministrator",
            "avatarUrl" : ""
          },
          "creator" : {
            "userName" : "admin",
            "displayName" : "A. D. Ministrator",
            "avatarUrl" : ""
          },
          "permaId" : {
            "id" : "CR-SAMPLE-1"
          },
          "summary" : "Review summary",
          "state" : "Review",
          "type" : "REVIEW",
          "allowReviewersToJoin" : true,
          "metricsVersion" : 1,
          "createDate" : "2022-06-20T09:37:15.263+0000",
          "linkedIssues" : [ "SAMPLE-1", "SAMPLE-2", "SAMPLE-3" ],
          "jiraIssueKey" : "SAMPLE-1"
        } ]
      }, {
        "changesetId" : "16f1b72aed7e1ff0072a2b36aa579e4342a223e0",
        "reviews" : [ {
          "projectKey" : "CR-SAMPLE",
          "name" : "Another Review",
          "description" : "Description",
          "author" : {
            "userName" : "admin",
            "displayName" : "A. D. Ministrator",
            "avatarUrl" : ""
          },
          "moderator" : {
            "userName" : "admin",
            "displayName" : "A. D. Ministrator",
            "avatarUrl" : ""
          },
          "creator" : {
            "userName" : "admin",
            "displayName" : "A. D. Ministrator",
            "avatarUrl" : ""
          },
          "permaId" : {
            "id" : "CR-SAMPLE-2"
          },
          "summary" : "Review summary",
          "state" : "Review",
          "type" : "REVIEW",
          "allowReviewersToJoin" : true,
          "metricsVersion" : 1,
          "createDate" : "2022-06-20T09:37:15.263+0000",
          "linkedIssues" : [ "SAMPLE-2", "SAMPLE-3" ],
          "jiraIssueKey" : "SAMPLE-2"
        } ]
      } ]
    }

/rest-service-fe/search-v1/query/{repository}?query=<value>&maxReturn=<value>

resource-wide template parameters
parameter value description

repository

string

the key of the repository

Methods

GET

Execute a FishEye query against a specific repository.

Note: the maximum number of results will be limited to maxReturn or 3000, whichever is the smallest number.

request query parameters
parameter value description

query

string

FishEye query to execute

maxReturn

string

maximum number of results (which can be left unspecified, but in that case, the maximum number of results will set to 3000 results)

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <fileRevisionKeyList>
        <fileRevisionKey rev="1.1" path="test/readme.txt"/>
        <fileRevisionKey rev="1.2" path="test/readme.txt"/>
        <fileRevisionKey rev="1.3" path="test/readme.txt"/>
    </fileRevisionKeyList>
    

    Sample result for a FishEye query such as select revisions from dir /test.

  • 200 - application/json [expand]

    Example
    {
      "fileRevisionKey" : [ {
        "path" : "test/readme.txt",
        "rev" : "1.1"
      }, {
        "path" : "test/readme.txt",
        "rev" : "1.2"
      }, {
        "path" : "test/readme.txt",
        "rev" : "1.3"
      } ]
    }

    Sample result for a FishEye query such as select revisions from dir /test.

/rest-service-fe/revisionData-v1

Provides an API for getting information about changesets and filerevisions indexed by fisheye.

/rest-service-fe/revisionData-v1/changesetList/{repository}?path=<value>&start=<value>&end=<value>&maxReturn=<value>

resource-wide template parameters
parameter value description

repository

string

the key of the repository to query.

Methods

GET

Get a list of changesets on a repository.

request query parameters
parameter value description

path

string

restrict the changesets to those in this path, should be "/" to look at the whole repository.

start

string

only return changesets after this date.

end

string

only return changesets before this date.

maxReturn

string

the maximum number of changesets to return.

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <changesetIdList resultsTruncated="false">
        <csid>MAIN:peter:20100101000000</csid>
        <csid>MAIN:douglas:20100101000042</csid>
        <csid>MAIN:ray:20100101000451</csid>
    </changesetIdList>
    

    A list of changesets on a repository.

  • 200 - application/json [expand]

    Example
    {
      "resultsTruncated" : false,
      "csid" : [ "MAIN:peter:20100101000000", "MAIN:douglas:20100101000042", "MAIN:ray:20100101000451" ]
    }

    A list of changesets on a repository.

/rest-service-fe/revisionData-v1/pathList/{repository}?path=<value>

resource-wide template parameters
parameter value description

repository

string

the key of the repository to query.

Methods

GET

Get a list of information about files and directories in a path.

request query parameters
parameter value description

path

string

the path to query, with respect to the fisheye repository root.

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <pathList>
        <pathInfo name="branches" headDeleted="false" dir="true"/>
        <pathInfo name="tags" headDeleted="false" dir="true"/>
        <pathInfo name="trunk" headDeleted="false" dir="true"/>
    </pathList>
    

    A list of information about files and directories in the path.

  • 200 - application/json [expand]

    Example
    {
      "pathInfo" : [ {
        "name" : "branches",
        "dir" : true,
        "headDeleted" : false
      }, {
        "name" : "tags",
        "dir" : true,
        "headDeleted" : false
      }, {
        "name" : "trunk",
        "dir" : true,
        "headDeleted" : false
      } ]
    }

    A list of information about files and directories in the path.

/rest-service-fe/revisionData-v1/pathHistory/{repository}?path=<value>

resource-wide template parameters
parameter value description

repository

string

the key of the repository to query.

Methods

GET

Get a list of the file revisions for a specific path.

request query parameters
parameter value description

path

string

the path to query.

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <fileRevisionList>
        <fileRevision totalLines="30" fileRevisionState="ADDED" rev="1" path="trunk/readme.txt" linesRemoved="0" linesAdded="30" date="2022-06-20T09:37:15.329Z" csid="MAIN:peter:2010000" contentLink="" author="peter">
            <comment>added readme</comment>
        </fileRevision>
        <fileRevision totalLines="42" fileRevisionState="CHANGED" rev="2" path="trunk/readme.txt" linesRemoved="0" linesAdded="12" date="2022-06-20T09:37:15.329Z" csid="MAIN:douglas:2010042" contentLink="" author="douglas">
            <ancestor>1</ancestor>
            <comment>first revision</comment>
        </fileRevision>
        <fileRevision totalLines="451" fileRevisionState="CHANGED" rev="3" path="trunk/readme.txt" linesRemoved="0" linesAdded="409" date="2022-06-20T09:37:15.329Z" csid="MAIN:ray:2010451" contentLink="" author="ray">
            <ancestor>2</ancestor>
            <comment>second revision</comment>
        </fileRevision>
    </fileRevisionList>
    

    A list of the filerevisions of a path.

  • 200 - application/json [expand]

    Example
    {
      "fileRevision" : [ {
        "path" : "trunk/readme.txt",
        "rev" : "1",
        "author" : "peter",
        "date" : 1655717835329,
        "totalLines" : 30,
        "linesAdded" : 30,
        "linesRemoved" : 0,
        "csid" : "MAIN:peter:2010000",
        "comment" : "added readme",
        "contentLink" : "",
        "ancestor" : [ ],
        "fileRevisionState" : "ADDED"
      }, {
        "path" : "trunk/readme.txt",
        "rev" : "2",
        "author" : "douglas",
        "date" : 1655717835329,
        "totalLines" : 42,
        "linesAdded" : 12,
        "linesRemoved" : 0,
        "csid" : "MAIN:douglas:2010042",
        "comment" : "first revision",
        "contentLink" : "",
        "ancestor" : [ "1" ],
        "fileRevisionState" : "CHANGED"
      }, {
        "path" : "trunk/readme.txt",
        "rev" : "3",
        "author" : "ray",
        "date" : 1655717835329,
        "totalLines" : 451,
        "linesAdded" : 409,
        "linesRemoved" : 0,
        "csid" : "MAIN:ray:2010451",
        "comment" : "second revision",
        "contentLink" : "",
        "ancestor" : [ "2" ],
        "fileRevisionState" : "CHANGED"
      } ]
    }

    A list of the filerevisions of a path.

/rest-service-fe/revisionData-v1/revisionInfo/{repository}?path=<value>&revision=<value>

resource-wide template parameters
parameter value description

repository

string

the key of the repository to query.

Methods

GET

request query parameters
parameter value description

path

string

the path of the filerevision, with respect to the fisheye repository root.

revision

string

the id of the filerevision to retrieve.

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <fileRevision totalLines="451" fileRevisionState="CHANGED" rev="3" path="trunk/readme.txt" linesRemoved="0" linesAdded="409" date="2022-06-20T09:37:15.329Z" csid="MAIN:ray:2010451" contentLink="" author="ray">
        <ancestor>2</ancestor>
        <comment>second revision</comment>
    </fileRevision>
    

    Information about the specified filerevision.

  • 200 - application/json [expand]

    Example
    {
      "path" : "trunk/readme.txt",
      "rev" : "3",
      "author" : "ray",
      "date" : 1655717835329,
      "totalLines" : 451,
      "linesAdded" : 409,
      "linesRemoved" : 0,
      "csid" : "MAIN:ray:2010451",
      "comment" : "second revision",
      "contentLink" : "",
      "ancestor" : [ "2" ],
      "fileRevisionState" : "CHANGED"
    }

    Information about the specified filerevision.

/rest-service-fe/revisionData-v1/revisionTags/{repository}?path=<value>&revision=<value>

resource-wide template parameters
parameter value description

repository

string

the key of the repository to query.

Methods

GET

request query parameters
parameter value description

path

string

the path of the filerevision, with respect to the fisheye repository root.

revision

string

the id of the filerevision to retrieve.

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <tagList>
        <tag>TAG1</tag>
        <tag>TAG2</tag>
        <tag>TAG3</tag>
    </tagList>
    

    A list of tags associated with this revision.

  • 200 - application/json [expand]

    Example
    {
      "tag" : [ "TAG1", "TAG2", "TAG3" ]
    }

    A list of tags associated with this revision.

/rest-service-fe/revisionData-v1/changeset/{repository}/{csid}

resource-wide template parameters
parameter value description

csid

string

the ChangesetID of the changeset to return.

repository

string

the key of the repository to query.

Methods

GET

available response representations:

  • 200 - application/xml [expand]

    Example
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <changeset repositoryName="repositoryName" position="0" displayId="changeset_display_id" date="2022-06-20T09:37:15.330Z" csid="changeset_id" branch="branch" author="author">
        <branches>
            <branch>branch</branch>
        </branches>
        <children>
            <child>child2</child>
            <child>child1</child>
        </children>
        <comment>comment</comment>
        <fileRevisionKey rev="revision_id" path="dir/path/path/"/>
        <fileRevisionKey rev="revision_id_2" path="dir2/path2/path2/"/>
        <p4JobIds>
            <p4JobId>job1</p4JobId>
            <p4JobId>job2</p4JobId>
            <p4JobId>job3</p4JobId>
        </p4JobIds>
        <parents>
            <parent>parent</parent>
        </parents>
        <tags>
            <tag>tag1</tag>
            <tag>tag2</tag>
        </tags>
    </changeset>
    

    The changeset specified by csid.

  • 200 - application/json [expand]

    Example
    {
      "repositoryName" : "repositoryName",
      "csid" : "changeset_id",
      "displayId" : "changeset_display_id",
      "position" : "0",
      "parents" : [ "parent" ],
      "children" : [ "child2", "child1" ],
      "date" : 1655717835330,
      "author" : "author",
      "branches" : [ "branch" ],
      "tags" : [ "tag1", "tag2" ],
      "comment" : "comment",
      "p4JobIds" : [ "job1", "job2", "job3" ],
      "branch" : "branch",
      "fileRevisionKey" : [ {
        "path" : "dir/path/path/",
        "rev" : "revision_id"
      }, {
        "path" : "dir2/path2/path2/",
        "rev" : "revision_id_2"
      } ]
    }

    The changeset specified by csid.