Class ApiRootAction
java.lang.Object
io.jenkins.plugins.interactiveinput.rest.ApiRootAction
- All Implemented Interfaces:
ExtensionPoint,Action,ModelObject,RootAction,UnprotectedRootAction
Versioned JSON REST API rooted at
/interactive-input/api/v1/ (§6.3, §8.6).
This is an UnprotectedRootAction so the anonymous /health liveness probe is
reachable; every other endpoint enforces permissions explicitly. Mutating endpoints are
@RequirePOST and therefore also require the standard Jenkins CSRF crumb (enforced by
CrumbFilter at the framework level). Responses are always JSON via net.sf.json.
Routing (Stapler getter/do-method traversal):
GET /interactive-input/api/v1/questions -> Questions#doIndex (Overall/Read; ?all=true => Administer)
GET /interactive-input/api/v1/questions/{id} -> QuestionEndpoint#doIndex (Item.READ, else 404)
POST /interactive-input/api/v1/questions/{id}/answer -> QuestionEndpoint#doAnswer (Item.BUILD, else 403; 409 if settled)
POST /interactive-input/api/v1/questions/{id}/abort -> QuestionEndpoint#doAbort (Item.CANCEL, else 403; 409 if settled)
POST /interactive-input/api/v1/preview -> V1#doPreview (Overall/Read; safe markdown preview)
GET /interactive-input/api/v1/health -> V1#doHealth (anonymous)
GET /interactive-input/api/v1/views -> Views#doIndex (Overall/Read; ?all=true => Administer)
GET /interactive-input/api/v1/views/{id} -> ViewEndpoint#doIndex (Item.READ, else 404)
GET /interactive-input/api/v1/views/{id}/raw -> ViewEndpoint#doRaw (Item.READ, else 404)
GET /interactive-input/api/v1/views/{id}/rendered -> ViewEndpoint#doRendered (Item.READ + HTML + flag, else 404)
GET /interactive-input/api/v1/views/{id}/download -> ViewEndpoint#doDownload (Item.READ, else 404)
GET /interactive-input/api/v1/views/{id}/downloadGroup -> ViewEndpoint#doDownloadGroup (Item.READ, else 404)
POST /interactive-input/api/v1/views/{id}/comments -> ViewEndpoint#doComments (Item.BUILD/submitter, else 403)
POST /interactive-input/api/v1/views/{id}/edit -> ViewEndpoint#doEdit (Item.BUILD/submitter, else 403)
POST /interactive-input/api/v1/views/{id}/decision -> ViewEndpoint#doDecision (Item.BUILD/submitter, else 403)
POST /interactive-input/api/v1/views/{id}/resolveComment -> ViewEndpoint#doResolveComment (Item.BUILD/submitter)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classstatic classstatic classstatic classNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface hudson.model.Action
getDescription, getEvent, getGroup, getSemantic, isVisibleInContextMenuMethods inherited from interface hudson.model.RootAction
getBadge, isPrimaryAction
-
Field Details
-
URL_NAME
- See Also:
-
-
Constructor Details
-
ApiRootAction
public ApiRootAction()
-
-
Method Details
-
getIconFileName
- Specified by:
getIconFileNamein interfaceAction
-
getDisplayName
- Specified by:
getDisplayNamein interfaceAction- Specified by:
getDisplayNamein interfaceModelObject
-
getUrlName
- Specified by:
getUrlNamein interfaceAction
-
getApi
-