jira設置問題關閉之后不能繼續編輯和添加備注


設置工作流中的Closed步驟的工作流屬性值,增加兩個:

jira.permission.comment.user:(空)

jira.issue.editable:false

Closed這個步驟之后,可添加備注的用戶為空,可編輯屬性為false。

參考文章:

com.atlassian.jira.security

類WorkflowBasedPermissionManager

  • 所有已實現的接口:
    PermissionManager
    直接已知子類:
    ThreadLocalCachingPermissionManager


    公共類WorkflowBasedPermissionManager 擴展了DefaultPermissionManager
    權限管理器,允許在工作流XML描述符中為每個工作流步驟進一步限制工作流權限。例如,如果工作流包含一個步驟:
        <step id =“1”name =“Open”>
        <meta name =“jira.status.id”> 1 </ meta>
        <meta name =“jira.permission.comment.group”> acme-bizusers </ meta>
        <meta name =“jira.permission.comment.user”> qa </ meta>
        <meta name =“jira.permission.edit.group.1”> jira-developers </ meta>
        <meta name =“jira.permission.edit.group.2”> jira-editors </ meta>
        <meta name =“jira.permission.edit.projectrole”> 10001 </ meta>
     
    然后只有acme-bizusers組和用戶'qa'的成員才能評論公開問題,只有'jira-developers'和'jira-editors'組成員或項目角色成員id為'10001'將能夠編輯問題。當然,假設這些用戶已經在權限方案中擁有相關權限。

    元屬性還可以修改子任務的權限。例如,如果'Bug'工作流程的Open步驟具有:

                 <meta name =“jira.permission.subtasks.edit.group”> jira-qa </ meta>
     
    然后,當他們的父母處於開放狀態時,'jira-qa'成員只能編輯Bugs的子任務。

    格式為'jira.permission。[subtasks。] {permission}。{type} [。suffix]',其中:

    • {permission}是指定的短名稱 Permissions
    • {type}是授予或拒絕拒絕權限的權限類型(組,用戶,受讓人,記者,潛在客戶,用戶CF,項目)
    • 子任務。,如果指定,則表示該權限適用於此步驟中的問題子任務。

      重要說明:工作流權限只能限制 權限方案中設置的權限,而不能授予權限。

    也可以看看:
    WorkflowBasedPermissionSchemeManager
    • 方法細節

      • 調用hasPermission

        public boolean hasPermission(int permissionsId,
                                      Issue  issue,
                                      ApplicationUser  user)
        從界面復制的描述: PermissionManager
        檢查此用戶是否有權查看指定的問題。

        請注意,如果問題的通用值為null,則假定當前正在創建問題,因此權限檢查調用將延遲到問題的項目對象,並將issueCreation標志設置為true。有關詳細信息,請參閱JRA-14788。

        具體說明:
        hasPermission  在界面中  PermissionManager
        覆蓋:
        hasPermission  在班上  DefaultPermissionManager
        參數:
        permissionsId  - 不是全球許可
        issue  - 問題(不能為空)
        user  - 用戶對象,如果匿名訪問JIRA,則可能為null
        返回:
        如果有足夠權限訪問所提供的實體,則為True
      • 調用hasPermission

        public boolean hasPermission(@Nonnull 
                                     ProjectPermissionKey  permissionsKey,
                                      @ Nonull 
                                     Issue  issue,
                                      ApplicationUser  user)
        從界面復制的描述: PermissionManager
        檢查此用戶是否有權查看指定的問題。

        請注意,如果問題的通用值為null,則假定當前正在創建問題,因此權限檢查調用將延遲到問題的項目對象,並將issueCreation標志設置為true。有關詳細信息,請參閱JRA-14788。

        具體說明:
        hasPermission  在界面中  PermissionManager
        覆蓋:
        hasPermission  在班上  DefaultPermissionManager
        參數:
        permissionsKey  - 不是全局權限密鑰
        issue  - 問題(不能為空)
        user  - 用戶對象,如果匿名訪問JIRA,則可能為null
        返回:
        如果有足夠權限訪問所提供的實體,則為True
      • 調用hasPermission

        public boolean hasPermission(@Nonnull 
                                     ProjectPermissionKey  permissionKey,
                                      @ Nonull 
                                     Issue  issue,
                                      @ Nullable 
                                     ApplicationUser  user,
                                      @ Nonull 
                                     Status  status)
        從界面復制的描述: PermissionManager
        如果問題處於給定狀態,請檢查此用戶是否具有指定問題的給定權限。

        此方法在工作流轉換期間非常有用,可以檢查權限將處於新狀態,或者(在“問題”對象中更新狀態之后)以檢查舊狀態中的權限。

        具體說明:
        hasPermission  在界面中  PermissionManager
        覆蓋:
        hasPermission  在班上  DefaultPermissionManager
        參數:
        permissionKey  - 項目權限密鑰。
        issue  - 問題(不能為空)
        user  - 用戶對象,如果匿名訪問JIRA,則可能為null
        status  - 表示我們正在檢查權限的狀態
        返回:
        如果有足夠權限訪問所提供的實體,則為True
      • 調用hasPermission

        public boolean hasPermission(int permissionsId,
                                      Project  project,
                                      ApplicationUser  user)
        從界面復制的描述: PermissionManager
        檢查指定的用戶是否在指定項目的上下文中具有指定的權限。
        具體說明:
        hasPermission  在界面中  PermissionManager
        覆蓋:
        hasPermission  在班上  DefaultPermissionManager
        參數:
        permissionsId  - 非全局權限,即通過項目上下文授予的權限
        project  - 作為權限檢查上下文的項目。
        user  - 執行權限檢查的人員
        返回:
        如果用戶在提供的項目的上下文中具有指定的權限,則為true
      • 調用hasPermission

        public boolean hasPermission(int permissionsId,
                                      Project  project,
                                      ApplicationUser  user,
                                     布爾問題創建)
        從界面復制的描述: PermissionManager
        檢查指定的用戶是否在指定項目的上下文中具有指定的權限。
        具體說明:
        hasPermission  在界面中  PermissionManager
        覆蓋:
        hasPermission  在班上  DefaultPermissionManager
        參數:
        permissionsId  - 非全局權限,即通過項目上下文授予的權限
        project  - 作為權限檢查上下文的項目。
        user  - 執行權限檢查的人員
        issueCreation  - 在創建問題期間是否正在檢查此權限
        返回:
        如果用戶在提供的項目的上下文中具有指定的權限,則為true
      • 調用hasPermission

        public boolean hasPermission(@Nonnull 
                                     ProjectPermissionKey  permissionsKey,
                                      @ Nonull 
                                     Project  project,
                                      ApplicationUser  user,
                                     布爾問題創建)
        從界面復制的描述: PermissionManager
        檢查指定的用戶是否在指定項目的上下文中具有指定的權限。
        具體說明:
        hasPermission  在界面中  PermissionManager
        覆蓋:
        hasPermission  在班上  DefaultPermissionManager
        參數:
        permissionsKey  - 非全局權限,即通過項目上下文授予的權限
        project  - 作為權限檢查上下文的項目。
        user  - 執行權限檢查的人員
        issueCreation  - 在創建問題期間是否正在檢查此權限
        返回:
        如果用戶在提供的項目的上下文中具有指定的權限,則為true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM