Class IndexingBackdoor

java.lang.Object
com.atlassian.jira.dev.backdoor.IndexingBackdoor

@Consumes("application/json") @Produces("application/json") @Path("/indexing") public class IndexingBackdoor extends Object
Backdoor for starting/stopping/querying indexing.
Since:
v5.2
  • Constructor Details

  • Method Details

    • triggerBackgroundIndexing

      @POST @Path("background") public Long triggerBackgroundIndexing(@QueryParam("comments") boolean reindexComments, @QueryParam("changeHistory") boolean reindexChangeHistory, @QueryParam("worklogs") boolean reindexWorklog, @QueryParam("issues") @DefaultValue("true") boolean reindexIssues)
    • triggerStopTheWorldIndexing

      @POST @Path("stoptheworld") public void triggerStopTheWorldIndexing()
    • deleteIndex

      @POST @Path("deleteIndex") public void deleteIndex()
    • deleteIndexDirectory

      @POST @Path("deleteIndexDirectory") public void deleteIndexDirectory(@QueryParam("issues") boolean issues, @QueryParam("comments") boolean comments, @QueryParam("worklogs") boolean worklogs, @QueryParam("history") boolean history)
    • deindex

      @GET @Path("deindex") public boolean deindex(@QueryParam("key") String key)
    • indexDummyIssue

      @GET @Path("indexDummyIssue") public boolean indexDummyIssue(@QueryParam("id") String id, @QueryParam("issueType") String issueType, @QueryParam("projectId") String projectId, @QueryParam("key") String key, @QueryParam("summary") String summary, @QueryParam("description") String description)
    • temporaryIndex

      @POST @Path("temporaryIndex") public jakarta.ws.rs.core.Response temporaryIndex(@QueryParam("issueKey") String issueKey) throws SearchException
      Tests that we can create a temporary index, index an issue, and search for it.

      Temporary indexes are Lucene indexes even when the search platform is OpenSearch. Even when the search platform is OpenSearch, we should still be able to use temporary indexes.

      You need at least one issue in your Jira instance in order to be able to use this endpoint as we need to index an issue in the temporary index.

      Returns:
      OK if we were able to index and search for the issue, server error otherwise.
      Throws:
      SearchException - when there are no issues in the search index, or we weren't able to find the issue in the temporary index.
    • reindexAll

      @POST @Path("reindexAll") public jakarta.ws.rs.core.Response reindexAll()
    • reindexProject

      @POST @Path("reindexProject/{projectId}") public jakarta.ws.rs.core.Response reindexProject(@PathParam("projectId") String projectId)
    • pauseScheduledReindex

      @POST @Path("scheduledReindex/pause") public jakarta.ws.rs.core.Response pauseScheduledReindex()
      Pause the scheduled reindex service
    • startScheduledReindex

      @POST @Path("scheduledReindex/start") public jakarta.ws.rs.core.Response startScheduledReindex()
      Start the scheduled reindex service
    • pauseIndexRepairService

      @POST @Path("repairService/pause") public jakarta.ws.rs.core.Response pauseIndexRepairService()
      Pause the index repair service running in background - Lucene specific
    • startIndexRepairService

      @POST @Path("repairService/start") public jakarta.ws.rs.core.Response startIndexRepairService()
      Start the index repair service running in background - Lucene specific
    • pauseOpenSearchReplayService

      @POST @Path("replayService/pause") public jakarta.ws.rs.core.Response pauseOpenSearchReplayService()
      Pause the index replay service running in background - OpenSearch specific
    • startOpenSearchReplayService

      @POST @Path("replayService/start") public jakarta.ws.rs.core.Response startOpenSearchReplayService()
      Start the index replay service running in background - OpenSearch specific
    • replayIndex

      @POST @Path("replayService/replay") public jakarta.ws.rs.core.Response replayIndex() throws IndexOperationException, SearchException
      Throws:
      IndexOperationException
      SearchException
    • makeReindexRequest

      @GET @Path("makeReindexRequest") public jakarta.ws.rs.core.Response makeReindexRequest(@QueryParam("type") ReindexRequestType type, @QueryParam("sharedEntityType") List<String> sharedEntityTypes)
    • isIndexingRunning

      @GET public boolean isIndexingRunning()
    • isIndexingStarted

      @GET @Path("started") public boolean isIndexingStarted()
    • isIndexingProject

      @GET @Path("project") public boolean isIndexingProject(@QueryParam("projectId") Long projectId)
    • getIndexingProgress

      @GET @Path("project/progress") public long getIndexingProgress(@QueryParam("projectId") Long projectId)
    • isIndexingProjectStarted

      @GET @Path("project/started") public boolean isIndexingProjectStarted(@QueryParam("projectId") Long projectId)
    • isIndexConsistent

      @GET @Path("consistent") public boolean isIndexConsistent()
    • isIndexUpdatedFieldConsistent

      @GET @Path("consistent/updated") public boolean isIndexUpdatedFieldConsistent() throws SearchException
      Throws:
      SearchException
    • clearPendingReindexRequests

      @GET @Path("clearPendingReindexRequests") public long clearPendingReindexRequests()
    • periodicStats

      @POST @Path("periodicStats") public void periodicStats()
    • refresh

      @POST @Path("refresh") public jakarta.ws.rs.core.Response refresh()