Detailed Description
The Cascade Release functions provide you with the capability to:
-
Perform inquiries on release procedures, jobs, target objects, reference objects, required and unassigned roles, release status and levels, decisions, reviewers and date effectivity
-
Initialize, create and refresh jobs
-
Add, remove, promote and demote reference and target objects
You must include the header file
cr.h in your source code.
- Warning:
- CR functions have been specially developed for CR. Using these functions with other EPM applications, procedures and tasks can result in unpredictable behavior and could cause loss of data.
Modules
Release Status
- EPM_API int CR_find_status_type (const char *status_type, tag_t *status)
- EPM_API int CR_ask_release_statuses (tag_t job, int *count, tag_t **release_status_objects)
- EPM_API int CR_add_release_status (tag_t job, tag_t release_status)
- EPM_API int CR_remove_release_status (tag_t job, tag_t release_status)
- EPM_API int CR_remove_status_from_targets (tag_t release_status, tag_t root_task)
- EPM_API int CR_ask_if_released (tag_t workspace_object, int *is_released)
- EPM_API int CR_ask_accessor_tags (const char *group_name, logical allow_sub_groups, const char *role_name, int *num_accessors, tag_t **accessors)
- EPM_API int CR_ask_procedure_access (char *release_procedure_name, char *release_level_name, int *no_of_accessors, char ***group_names, char ***role_names, int **access_codes)
EPMTask Related
Defines
Typedefs
Enumerations
Functions
- EPM_API int CR_init_module (void)
- EPM_API int CR_exit_module (void)
- EPM_API int CR_ask_job (tag_t target_object, int *count, tag_t **jobs)
- EPM_API int CR_refresh_job (tag_t job)
- EPM_API int CR_ask_required_reviewer_types (tag_t job, const char *release_level_name, int *count, tag_t **required_accessors)
- EPM_API int CR_ask_unassigned_reviewer_types (tag_t job, const char *release_level_name, int *count, tag_t **unassigned_accessors)
- EPM_API int CR_ask_reviewers (tag_t job, const char *release_level_name, int *count, tag_t **groupmembers)
- EPM_API int CR_add_reviewers (tag_t job, const char *release_level_name, int n_groupmembers, tag_t *groupmembers)
- EPM_API int CR_remove_reviewers (tag_t job, const char *release_level_name, int n_groupmembers, tag_t *groupmembers)
- EPM_API int CR_ask_decision (tag_t job, const char *release_level_name, tag_t user, CR_signoff_decision_t *decision, char comments[CR_comment_size_c+1], date_t *decision_date)
- EPM_API int CR_ask_decision2 (tag_t job, const char *release_level_name, tag_t user, CR_signoff_decision_t *decision, char **comments, date_t *decision_date)
- EPM_API int CR_ask_quorum (tag_t job, const char *release_level_name, int *quorum)
- EPM_API int CR_ask_group_release_procedures (const char *group_name, int *count, char ***release_procedure_names)
- EPM_API int CR_ask_procedure_release_levels (const char *release_procedure_name, int *count, char ***release_level_names)
- EPM_API int CR_reassign_reviewer (tag_t release_level, tag_t new_groupmember, tag_t signoff)
Define Documentation
#define CR_comment_size_c 240 |
Definition at line 53 of file cr.h.
#define CR_perform_signoffs_task "perform-signoffs" |
Definition at line 45 of file cr.h.
#define CR_select_signoff_team_task "select-signoff-team" |
Definition at line 44 of file cr.h.
Typedef Documentation
Enumeration Type Documentation
- Enumerator:
-
CR_no_decision |
|
CR_approve_decision |
|
CR_reject_decision |
|
Definition at line 47 of file cr.h.
Function Documentation
EPM_API int CR_add_release_status |
( |
tag_t |
job, |
|
|
tag_t |
release_status | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_add_release_status_to_process
Adds release status to the list of release status objects for the given job.
- Parameters:
-
job |
(I) |
release_status |
(I) |
EPM_API int CR_add_reviewers |
( |
tag_t |
job, |
|
|
const char * |
release_level_name, |
|
|
int |
n_groupmembers, |
|
|
tag_t * |
groupmembers | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_add_reviewers
Adds array of specified reviewers to the given release level of the given job. A reviewer is basically a groupmember who is responsible for performing signoff. In other words, he is responsible for approving or rejecting the job.
- Parameters:
-
job |
(I) |
release_level_name |
(I) |
n_groupmembers |
(I) |
groupmembers |
(I) n_groupmembers |
EPM_API int CR_ask_accessor_tags |
( |
const char * |
group_name, |
|
|
logical |
allow_sub_groups, |
|
|
const char * |
role_name, |
|
|
int * |
num_accessors, |
|
|
tag_t ** |
accessors | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_accessor_tags
- Parameters:
-
group_name |
(I) |
allow_sub_groups |
(I) |
role_name |
(I) |
num_accessors |
(O) |
accessors |
(OF) num_accessors |
- Deprecated:
- This function is deprecated and will be removed from Tc12. In Tc10.1 onwards, please use EPM_ask_decision
Returns the decision, comments and decision date from when the given user performed a signoff. If no decision has been made, then
CR_no_decision will be returned.
- Parameters:
-
job |
(I) |
release_level_name |
(I) |
user |
(I) |
decision |
(O) |
comments |
(O) |
decision_date |
(O) |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_decision
Returns the decision, comments and decision date from when the given user performed a signoff. If no decision has been made, then
CR_no_decision will be returned.
- Parameters:
-
job |
(I) |
release_level_name |
(I) |
user |
(I) |
decision |
(O) |
comments |
(OF) |
decision_date |
(O) |
EPM_API int CR_ask_group_release_procedures |
( |
const char * |
group_name, |
|
|
int * |
count, |
|
|
char *** |
release_procedure_names | |
|
) |
| | |
Returns a list of the names of release procedures that are being used in the given group.
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use either EPM_ask_workflow_templates_base or EPM_ask_workflow_templates
- Note:
- The user is responsible for freeing the memory for the array of release level names. Call MEM_free to free memory for the entire list. This call to MEM_free also frees the memory for the individual strings at the same time.
- Parameters:
-
group_name |
(I) |
count |
(O) |
release_procedure_names |
(OF) count |
EPM_API int CR_ask_if_released |
( |
tag_t |
workspace_object, |
|
|
int * |
is_released | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_if_released
- Parameters:
-
workspace_object |
(I) |
is_released |
(O) |
EPM_API int CR_ask_job |
( |
tag_t |
target_object, |
|
|
int * |
count, |
|
|
tag_t ** |
jobs | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_active_job_for_target
Returns list of jobs for which the given object is one of the target objects in the job. Only the jobs which are in process are returned. Those jobs that are already completed are not listed.
- Parameters:
-
target_object |
(I) |
count |
(O) |
jobs |
(OF) count |
EPM_API int CR_ask_procedure_access |
( |
char * |
release_procedure_name, |
|
|
char * |
release_level_name, |
|
|
int * |
no_of_accessors, |
|
|
char *** |
group_names, |
|
|
char *** |
role_names, |
|
|
int ** |
access_codes | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_template_access
Get the following information about accessors in a specified release procedure level: number of accessors, groups to which accessors belong, roles to which accessors belong, and the access each accessor has to the target object.
- Parameters:
-
release_procedure_name |
(I) Name of the release procedure |
release_level_name |
(I) Release level |
no_of_accessors |
(O) Total number of accessors |
group_names |
(OF) no_of_accessors Strings giving accessor groups. MEM_free this list of strings. |
role_names |
(OF) no_of_accessors Strings giving accessor roles. MEM_free this list of strings. |
access_codes |
(OF) no_of_accessors Values giving access list for each accessor. MEM_free this list. Go to Access Masks for additional information about constructing access masks. |
EPM_API int CR_ask_procedure_release_levels |
( |
const char * |
release_procedure_name, |
|
|
int * |
count, |
|
|
char *** |
release_level_names | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_all_subtask_templates
Returns a list of the names of all release levels for the given release procedure.
- Note:
- The user is responsible for freeing the memory for the array of release level names. Call MEM_free to free memory for the entire list. This call to MEM_free also frees the memory for the individual strings at the same time.
- Parameters:
-
release_procedure_name |
(I) |
count |
(O) |
release_level_names |
(OF) count |
EPM_API int CR_ask_quorum |
( |
tag_t |
job, |
|
|
const char * |
release_level_name, |
|
|
int * |
quorum | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_quorum
Returns minimum number of signoffs (approvals) required to complete the task specified by input release level of the given job.
- Parameters:
-
job |
(I) |
release_level_name |
(I) |
quorum |
(O) |
EPM_API int CR_ask_release_statuses |
( |
tag_t |
job, |
|
|
int * |
count, |
|
|
tag_t ** |
release_status_objects | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_release_statuses
Returns the list of release status objects for the given job. Release status objects contain effectivity and release information that will be applied to the target objects.
- Parameters:
-
job |
(I) |
count |
(O) |
release_status_objects |
(OF) count |
EPM_API int CR_ask_required_reviewer_types |
( |
tag_t |
job, |
|
|
const char * |
release_level_name, |
|
|
int * |
count, |
|
|
tag_t ** |
required_accessors | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_required_reviewer_types
- Parameters:
-
job |
(I) |
release_level_name |
(I) |
count |
(O) |
required_accessors |
(OF) count |
EPM_API int CR_ask_reviewers |
( |
tag_t |
job, |
|
|
const char * |
release_level_name, |
|
|
int * |
count, |
|
|
tag_t ** |
groupmembers | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_reviewers
- Warning:
- CR_ask_reviewers ITK behavior has changed. Since V7.0 and the introduction of ResourcePool assignments, signoffs can be assigned to GroupMember objects OR ResourcePool objects that have no user tag. As this ITK can be used to cycle through the reviewers returned and get decisions etc, the release level ITK has been modified to tolerate ResourcePool Objects. However in your own code you must not assume you will get a groupmember tag and should accommodate the possibility of a ResourcePool tag being returned. A common error is that code tries to get the user tag from the returned tag and a ResourcePool object has no user tag. There is safer ITK to use instead now that is explicit about the type of reviewer assigned to the signoff objects. The safer alternative is to get the Signoff object attachments via the EPM_ask_attachments found in epm.h and then ask each Signoff object returned, what type it is via the EPM_ask_signoff_member found in signoff.h. That way you know whether the reviewer is a GroupMember or ResourcePool and make the appropriate subsequent calls.
- Parameters:
-
job |
(I) |
release_level_name |
(I) |
count |
(O) |
groupmembers |
(OF) count |
EPM_API int CR_ask_task_reviewers_group_member |
( |
const tag_t |
task_tag, |
|
|
int * |
group_member_count, |
|
|
tag_t ** |
group_members | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_task_reviewers_group_member
- Warning:
- CR_ask_task_reviewers_group_member ITK is temporary, We recommend that you don't use it. It will only return GroupMember assignments and will not return ResourcePool assignments as they have no user tag. It is intended for functionality that needs to skip the ResourcePool signoff assignments, such as mail notification. The safer alternative is to get the Signoff object attachments via the EPM_ask_attachments found in epm.h and then ask each Signoff object returned, what type it is via the EPM_ask_signoff_member found in signoff.h. That way you know whether the reviewer is a GroupMember or ResourcePool and make the appropriate subsequent calls.
- Parameters:
-
task_tag |
(I) |
group_member_count |
(O) |
group_members |
(OF) group_member_count |
EPM_API int CR_ask_task_reviewers_resource_pool |
( |
const tag_t |
task_tag, |
|
|
int * |
res_pool_count, |
|
|
tag_t ** |
res_pool_tags | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_task_reviewers_resource_pool
- Warning:
- CR_ask_task_reviewers_resource_pool ITK is temporary, We recommend that you don't use it. It will only return ResourcePool assignments and will not return GroupMembers assignments. The safer alternative is to get the Signoff object attachments via the EPM_ask_attachments found in epm.h and then ask each Signoff object returned, what type it is via the EPM_ask_signoff_member found in signoff.h. That way you know whether the reviewer is a GroupMember or ResourcePool and make the appropriate subsequent calls.
- Parameters:
-
task_tag |
(I) |
res_pool_count |
(O) |
res_pool_tags |
(OF) res_pool_count |
EPM_API int CR_ask_task_reviewers_users |
( |
const tag_t |
task_tag, |
|
|
int * |
user_count, |
|
|
tag_t ** |
users | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_task_reviewers_users
- Warning:
- CR_ask_task_reviewers_users ITK is temporary, We recommend that you don't use it. It will only return GroupMember assignment's user tags and will not return ResourcePool assignments as they have no user tag. It is intended for functionality that needs to skip the ResourcePool signoff assignments, such as mail notification. The safer alternative is to get the Signoff object attachments via the EPM_ask_attachments found in epm.h and then ask each Signoff object returned, what type it is via the EPM_ask_signoff_member found in signoff.h. That way you know whether the reviewer is a GroupMember or ResourcePool and make the appropriate subsequent calls.
- Parameters:
-
task_tag |
(I) |
user_count |
(O) |
users |
(OF) user_count |
EPM_API int CR_ask_task_undecided_reviewers_users |
( |
const tag_t |
task_tag, |
|
|
int * |
user_count, |
|
|
tag_t ** |
users | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_task_undecided_reviewers_users
- Warning:
- CR_ask_task_undecided_reviewers_users ITK is temporary, We recommend that you don't use it. It will only return GroupMember assignment's user tags and will not return ResourcePool assignments as they have no user tag. It is intended for functionality that needs to skip the ResourcePool signoff assignments, such as mail notification. The safer alternative is to get the Signoff object attachments via the EPM_ask_attachments found in epm.h and then ask each Signoff object returned, what type it is via the EPM_ask_signoff_member found in signoff.h. That way you know whether the reviewer is a GroupMember or ResourcePool and make the appropriate subsequent calls.
- Parameters:
-
task_tag |
(I) |
user_count |
(O) |
users |
(OF) user_count |
EPM_API int CR_ask_unassigned_reviewer_types |
( |
tag_t |
job, |
|
|
const char * |
release_level_name, |
|
|
int * |
count, |
|
|
tag_t ** |
unassigned_accessors | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_unassigned_reviewer_types
- Parameters:
-
job |
(I) |
release_level_name |
(I) |
count |
(O) |
unassigned_accessors |
(OF) count |
EPM_API int CR_exit_module |
( |
void |
|
) |
|
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. There is no replacement.
EPM_API int CR_find_status_type |
( |
const char * |
status_type, |
|
|
tag_t * |
status | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_find_status_type
Returns the status_type object of the given name.
- Parameters:
-
status_type |
(I) |
status |
(O) |
EPM_API int CR_init_module |
( |
void |
|
) |
|
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. There is no replacement.
EPM_API int CR_reassign_reviewer |
( |
tag_t |
release_level, |
|
|
tag_t |
new_groupmember, |
|
|
tag_t |
signoff | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_delegate_signoff
This function will reassign the signoff passed as the signoff argument to the new_groupmember argument. The release level provides the context of the signoff object.
- Parameters:
-
release_level |
(I) |
new_groupmember |
(I) |
signoff |
(I) |
EPM_API int CR_refresh_job |
( |
tag_t |
job |
) |
|
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_refresh_job
Reloads the job and all of the tasks in the job. If any other ITK or Workspace sessions have modified the job since it was last loaded, then calling this function assures that all values asked for will be the most current values in the database.
- Note:
- This function is called automatically before a change is made to a task, so it is only needed before calling a CR_ask_xxx function.
- Parameters:
-
EPM_API int CR_remove_release_status |
( |
tag_t |
job, |
|
|
tag_t |
release_status | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_remove_release_status
Removes the specified release status from the list of release statuses of the job. This also deletes the release_status from the database.
- Parameters:
-
job |
(I) |
release_status |
(I) |
EPM_API int CR_remove_reviewers |
( |
tag_t |
job, |
|
|
const char * |
release_level_name, |
|
|
int |
n_groupmembers, |
|
|
tag_t * |
groupmembers | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_remove_signoffs
Removes specified reviewers from the list of reviewers for the given release level of the given release type. If this release level is already started then this must be called before all of the required reviewers have been added.
- Parameters:
-
job |
(I) |
release_level_name |
(I) |
n_groupmembers |
(I) |
groupmembers |
(I) n_groupmembers |
EPM_API int CR_remove_status_from_targets |
( |
tag_t |
release_status, |
|
|
tag_t |
root_task | |
|
) |
| | |
- Deprecated:
- This function is deprecated and will be removed from Tc12.1 In Tc10.1 onwards, please use EPM_remove_status_from_targets
Removes the release status from target objects.
- Parameters:
-
root_task |
(I) release status tag (I) root task tag |