2016-04-09 45 views
0

我想了解JIRA權限API。雖然撥打電話給他們的許可服務即什麼是JIRA權限API中的deprecatedKey和什麼是用法

http://example.com:8080/jira/rest/api/2/mypermissions [GET]

/rest/api/2/mypermissions?projectKey&projectId&issueKey&issueId 

我正在下面響應當前的loggedIn用戶:

enter image description here

它返回的各種許可2個屬性鍵/節點:

  1. have權限
  2. deprecatedKey

你能說的是它的實現,它是如何工作的?

觀察響應後,我發現, deprecatedKey屬性並不適用於所有的許可節點 有與同id(即permissionId),但不同deprecatedKey參數

+1

你有沒有簽出[文檔](https://docs.atlassian.com/jira/REST/latest/#api/2/-getPermissions)?這是相當不錯的。或者它不夠清楚嗎?如果是,那麼什麼不明確呢? – jannis

+0

是的,我已經通過了文檔,但沒有找到任何有關它的信息。基本上我不清楚「deprecatedKey」屬性的用法是什麼 –

回答

0

多個權限在我的the documentation理解權限模型與改變JIRA 6.4和舊的許可密鑰變得過時了。然而,他們被保存在API中用於backward compatibility的原因(即,使得當API改變時使用舊API的傳統客戶端不會被破壞)。

報價:

此前的6.4版本服務返回項目的權限對應於com.atlassian.jira.security.Permissions.Permission常數項。自6.4以來,這些密鑰被認爲已被棄用,並且此服務返回對應於在com.atlassian.jira.permission.ProjectPermissions中定義的常量的系統項目權限密鑰。遺留密鑰的權限仍然爲了向後兼容而返回,它們被標記爲屬性deprecatedKey = true。使用當前鍵的項目權限缺少該屬性。

這意味着,例如在JIRA v6.4之前,有一個名爲VIEW_WORKFLOW_READONLY的許可。從6.4開始,可能會添加另一個權限,用於取消此權限(儘管我不知道這個具體示例中的哪一個)。所以現在這個權限要麼有不同的密鑰,要麼被合併到anoter權限集中。分成幾個新引入的權限也是一種選擇。

棄用意味着在開發新客戶端應用程序時不應再使用此舊許可密鑰,並且將在未來版本的API中刪除該許可密鑰。

查看更多關於棄用on Wikipedia

其他屬性havePermission只是意味着請求者在給定的上下文(Project/Issue)中被授予了特定的密鑰的權限。

+0

感謝您分享這些有用的信息。 –

相關問題